~canonical-dx-team/ubuntu/maverick/gtk+2.0/menuproxy

« back to all changes in this revision

Viewing changes to gdk/x11/gdkgeometry-x11.c

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2009-09-23 09:50:04 UTC
  • mfrom: (1.2.31 upstream) (72.2.8 sid)
  • Revision ID: james.westby@ubuntu.com-20090923095004-24h3kb844tay1fnv
Tags: 2.18.0-1ubuntu1
* Rebase on the current debian version
* New version changes:
  - Add GtkTreeModelFilter testsuite and fix multiple bugs
  - Client-side windows:
    - Fix issues around recursion and gdk_window_process_updates
    - Fix issues with grabs and cursors 
    - Handle window hierarchy and geometry changes in expose handlers
    - New function, gdk_window_flush, that may be needed in certain situations
    - Automatically flush windows when doing non-double-buffered exposes
  - Quartz backend:
    - Fix various 'stuck UI' issues
    - Fix the size of the root window
  - Bugs fixed:
  588455 run application broken when setting background color...(lp: #398826)
  346800 Rework sort/filter models to use indices to parents
  593678 select "Manage Custom Sizes" from print dialog hangs gedit
  594652 gtk printer dialog does not understand boolean printer options
  594668 Add new Xorg keysyms
  591583 Padre (a wxPerl+Gtk IDE) hangs when editing Perl code...
  594600 Windows only allows 64-character system-tray tooltips
  594679 Fix warning in testwindows.c
  594880 Drawing issues in ExoIconView
  593507 AbiWord's main drawing area not exposed properly
  594913 is_composited race ...
  594738 Windows often do not respond to events on dual-head
  503776 crash when trying to print to non-existent lpr printer
  595599 Don't focus unmapped radio buttons
  595790 Segfault in gtkiconfactory.c on NULL GError
  588649 extended input events sent to widgets that didn't...
  550939 GtkFileChooser listbox does not refresh selection
  - New deprecation:
  gdk_event_get_graphics_exposes has been deprecated
  - Updated translations

Show diffs side-by-side

added added

removed removed

Lines of Context:
60
60
                               gint       width,
61
61
                               gint       height)
62
62
{
63
 
  GdkWindowImplX11 *impl;
64
63
  GdkWindowObject *obj;
65
 
  
 
64
 
66
65
  g_return_if_fail (window != NULL);
67
 
  g_return_if_fail (GDK_IS_WINDOW (window)); 
 
66
  g_return_if_fail (GDK_IS_WINDOW (window));
68
67
 
69
 
  impl = GDK_WINDOW_IMPL_X11 (GDK_WINDOW_OBJECT (window)->impl);
70
68
  obj = GDK_WINDOW_OBJECT (window);
71
69
 
72
70
  if (width > 65535 ||
73
71
      height > 65535)
74
72
    {
75
73
      g_warning ("Native children wider or taller than 65535 pixels are not supported");
76
 
      
 
74
 
77
75
      if (width > 65535)
78
76
        width = 65535;
79
77
      if (height > 65535)
80
78
        height = 65535;
81
79
    }
82
 
  
 
80
 
83
81
  obj->x = x;
84
82
  obj->y = y;
85
83
  obj->width = width;
89
87
     the window won't be visible anyway and thus it will be shaped
90
88
     to nothing */
91
89
 
92
 
  
93
90
  _gdk_x11_window_tmp_unset_parent_bg (window);
94
91
  _gdk_x11_window_tmp_unset_bg (window, TRUE);
95
92
  XMoveResizeWindow (GDK_WINDOW_XDISPLAY (window),
268
265
                            gulong        serial,
269
266
                            GdkRectangle *area)
270
267
{
271
 
  GdkWindowImplX11 *impl;
272
268
  GdkRegion *invalidate_region = gdk_region_rectangle (area);
273
269
  GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window));
274
 
  impl = GDK_WINDOW_IMPL_X11 (GDK_WINDOW_OBJECT (window)->impl);
275
270
 
276
271
  if (display_x11->translate_queue)
277
272
    {
278
273
      GList *tmp_list = display_x11->translate_queue->head;
279
 
      
 
274
 
280
275
      while (tmp_list)
281
276
        {
282
277
          GdkWindowQueueItem *item = tmp_list->data;
283
278
          GList *next = tmp_list->next;
284
 
          
 
279
 
285
280
          /* an overflow-safe (serial < item->serial) */
286
281
          if (serial - item->serial > (gulong) G_MAXLONG)
287
282
            {
292
287
                      if (item->u.translate.area)
293
288
                        {
294
289
                          GdkRegion *intersection;
295
 
                          
 
290
 
296
291
                          intersection = gdk_region_copy (invalidate_region);
297
292
                          gdk_region_intersect (intersection, item->u.translate.area);
298
293
                          gdk_region_subtract (invalidate_region, intersection);
320
315
 
321
316
  if (!gdk_region_empty (invalidate_region))
322
317
    _gdk_window_invalidate_for_expose (window, invalidate_region);
323
 
  
 
318
 
324
319
  gdk_region_destroy (invalidate_region);
325
320
}
326
321