mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-24 12:41:16 +00:00
Merge from gtk-2-0:
2002-09-12 Tor Lillqvist <tml@iki.fi> Merge from gtk-2-0: * gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output to some functions, related to moving and resizing and expose and antiexpose queue processing. Use %p to output HWNDs. Tentative fix for #79720 based on code by Florent Duguet: * gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New static function. Checks length of translate_queue, calls _gdk_window_process_expose() if length is >= 128. Then appends to translate_queue. (gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose): Call gdk_window_queue_append().
This commit is contained in:
parent
1acfb9ae12
commit
c06ae8c21a
13
ChangeLog
13
ChangeLog
@ -22,6 +22,10 @@
|
||||
work like I think it should on non-Latin keyboards, too, use
|
||||
latin_locale when looking for the corresponding keycode.
|
||||
|
||||
* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
|
||||
to some functions, related to moving and resizing and expose
|
||||
and antiexpose queue processing. Use %p to output HWNDs.
|
||||
|
||||
Fix for #81831 by Tim Evans:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
|
||||
@ -32,6 +36,15 @@
|
||||
_gdk_event_button_generate() to perhaps append the double- or
|
||||
triple-click event after that.
|
||||
|
||||
Tentative fix for #79720 based on code by Florent Duguet:
|
||||
|
||||
* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
|
||||
static function. Checks length of translate_queue, calls
|
||||
_gdk_window_process_expose() if length is >= 128. Then appends
|
||||
to translate_queue.
|
||||
(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
|
||||
Call gdk_window_queue_append().
|
||||
|
||||
Merge from gtk-1-3-win32-production branch:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
|
||||
|
@ -22,6 +22,10 @@
|
||||
work like I think it should on non-Latin keyboards, too, use
|
||||
latin_locale when looking for the corresponding keycode.
|
||||
|
||||
* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
|
||||
to some functions, related to moving and resizing and expose
|
||||
and antiexpose queue processing. Use %p to output HWNDs.
|
||||
|
||||
Fix for #81831 by Tim Evans:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
|
||||
@ -32,6 +36,15 @@
|
||||
_gdk_event_button_generate() to perhaps append the double- or
|
||||
triple-click event after that.
|
||||
|
||||
Tentative fix for #79720 based on code by Florent Duguet:
|
||||
|
||||
* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
|
||||
static function. Checks length of translate_queue, calls
|
||||
_gdk_window_process_expose() if length is >= 128. Then appends
|
||||
to translate_queue.
|
||||
(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
|
||||
Call gdk_window_queue_append().
|
||||
|
||||
Merge from gtk-1-3-win32-production branch:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
|
||||
|
@ -22,6 +22,10 @@
|
||||
work like I think it should on non-Latin keyboards, too, use
|
||||
latin_locale when looking for the corresponding keycode.
|
||||
|
||||
* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
|
||||
to some functions, related to moving and resizing and expose
|
||||
and antiexpose queue processing. Use %p to output HWNDs.
|
||||
|
||||
Fix for #81831 by Tim Evans:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
|
||||
@ -32,6 +36,15 @@
|
||||
_gdk_event_button_generate() to perhaps append the double- or
|
||||
triple-click event after that.
|
||||
|
||||
Tentative fix for #79720 based on code by Florent Duguet:
|
||||
|
||||
* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
|
||||
static function. Checks length of translate_queue, calls
|
||||
_gdk_window_process_expose() if length is >= 128. Then appends
|
||||
to translate_queue.
|
||||
(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
|
||||
Call gdk_window_queue_append().
|
||||
|
||||
Merge from gtk-1-3-win32-production branch:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
|
||||
|
@ -22,6 +22,10 @@
|
||||
work like I think it should on non-Latin keyboards, too, use
|
||||
latin_locale when looking for the corresponding keycode.
|
||||
|
||||
* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
|
||||
to some functions, related to moving and resizing and expose
|
||||
and antiexpose queue processing. Use %p to output HWNDs.
|
||||
|
||||
Fix for #81831 by Tim Evans:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
|
||||
@ -32,6 +36,15 @@
|
||||
_gdk_event_button_generate() to perhaps append the double- or
|
||||
triple-click event after that.
|
||||
|
||||
Tentative fix for #79720 based on code by Florent Duguet:
|
||||
|
||||
* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
|
||||
static function. Checks length of translate_queue, calls
|
||||
_gdk_window_process_expose() if length is >= 128. Then appends
|
||||
to translate_queue.
|
||||
(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
|
||||
Call gdk_window_queue_append().
|
||||
|
||||
Merge from gtk-1-3-win32-production branch:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
|
||||
|
@ -22,6 +22,10 @@
|
||||
work like I think it should on non-Latin keyboards, too, use
|
||||
latin_locale when looking for the corresponding keycode.
|
||||
|
||||
* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
|
||||
to some functions, related to moving and resizing and expose
|
||||
and antiexpose queue processing. Use %p to output HWNDs.
|
||||
|
||||
Fix for #81831 by Tim Evans:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
|
||||
@ -32,6 +36,15 @@
|
||||
_gdk_event_button_generate() to perhaps append the double- or
|
||||
triple-click event after that.
|
||||
|
||||
Tentative fix for #79720 based on code by Florent Duguet:
|
||||
|
||||
* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
|
||||
static function. Checks length of translate_queue, calls
|
||||
_gdk_window_process_expose() if length is >= 128. Then appends
|
||||
to translate_queue.
|
||||
(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
|
||||
Call gdk_window_queue_append().
|
||||
|
||||
Merge from gtk-1-3-win32-production branch:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
|
||||
|
@ -22,6 +22,10 @@
|
||||
work like I think it should on non-Latin keyboards, too, use
|
||||
latin_locale when looking for the corresponding keycode.
|
||||
|
||||
* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
|
||||
to some functions, related to moving and resizing and expose
|
||||
and antiexpose queue processing. Use %p to output HWNDs.
|
||||
|
||||
Fix for #81831 by Tim Evans:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
|
||||
@ -32,6 +36,15 @@
|
||||
_gdk_event_button_generate() to perhaps append the double- or
|
||||
triple-click event after that.
|
||||
|
||||
Tentative fix for #79720 based on code by Florent Duguet:
|
||||
|
||||
* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
|
||||
static function. Checks length of translate_queue, calls
|
||||
_gdk_window_process_expose() if length is >= 128. Then appends
|
||||
to translate_queue.
|
||||
(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
|
||||
Call gdk_window_queue_append().
|
||||
|
||||
Merge from gtk-1-3-win32-production branch:
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
|
||||
|
@ -124,6 +124,12 @@ gdk_window_copy_area_scroll (GdkWindow *window,
|
||||
GdkWindowObject *obj = GDK_WINDOW_OBJECT (window);
|
||||
GList *tmp_list;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("gdk_window_copy_area_scroll: %p %dx%d@+%d+%d %d,%d\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
dest_rect->width, dest_rect->height,
|
||||
dest_rect->x, dest_rect->y,
|
||||
dx, dy));
|
||||
|
||||
if (dest_rect->width > 0 && dest_rect->height > 0)
|
||||
{
|
||||
RECT clipRect;
|
||||
@ -217,6 +223,9 @@ gdk_window_guffaw_scroll (GdkWindow *window,
|
||||
GdkWindowParentPos parent_pos;
|
||||
GList *tmp_list;
|
||||
|
||||
GDK_NOTE (EVENTS, g_print ("gdk_window_guffaw_scroll %p %d,%d\n",
|
||||
GDK_WINDOW_HWND (window), dx, dy));
|
||||
|
||||
gdk_window_compute_parent_pos (impl, &parent_pos);
|
||||
gdk_window_compute_position (impl, &parent_pos, &new_info);
|
||||
|
||||
@ -313,6 +322,9 @@ gdk_window_scroll (GdkWindow *window,
|
||||
if (GDK_WINDOW_DESTROYED (window))
|
||||
return;
|
||||
|
||||
GDK_NOTE (EVENTS, g_print ("gdk_window_scroll %p %d,%d\n",
|
||||
GDK_WINDOW_HWND (window), dx, dy));
|
||||
|
||||
obj = GDK_WINDOW_OBJECT (window);
|
||||
impl = GDK_WINDOW_IMPL_WIN32 (obj->impl);
|
||||
|
||||
@ -379,6 +391,9 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
g_return_if_fail (window != NULL);
|
||||
g_return_if_fail (GDK_IS_WINDOW (window));
|
||||
|
||||
GDK_NOTE (MISC, g_print ("_gdk_window_move_resize_child: %p %dx%d@+%d+%d\n",
|
||||
GDK_WINDOW_HWND (window), width, height, x, y));
|
||||
|
||||
obj = GDK_WINDOW_OBJECT (window);
|
||||
impl = GDK_WINDOW_IMPL_WIN32 (obj->impl);
|
||||
|
||||
@ -388,6 +403,8 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
is_move = dx != 0 || dy != 0;
|
||||
is_resize = impl->width != width || impl->height != height;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("...is_move:%d is_resize:%d\n", is_move, is_resize));
|
||||
|
||||
if (!is_move && !is_resize)
|
||||
return;
|
||||
|
||||
@ -414,6 +431,8 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
{
|
||||
GdkRectangle new_position;
|
||||
|
||||
GDK_NOTE (MISC, g_print ("...d_xoffset=%d d_yoffset=%d\n", d_xoffset, d_yoffset));
|
||||
|
||||
gdk_window_set_static_gravities (window, TRUE);
|
||||
|
||||
if (d_xoffset < 0 || d_yoffset < 0)
|
||||
@ -422,6 +441,10 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
compute_intermediate_position (&impl->position_info, &new_info, d_xoffset, d_yoffset,
|
||||
&new_position);
|
||||
|
||||
GDK_NOTE (MISC, g_print ("...SetWindowPos(%p,%dx%d@+%d+%d)\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
new_position.width, new_position.height,
|
||||
new_position.x, new_position.y));
|
||||
if (!SetWindowPos (GDK_WINDOW_HWND (window), NULL,
|
||||
new_position.x, new_position.y,
|
||||
new_position.width, new_position.height,
|
||||
@ -435,6 +458,9 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
tmp_list = tmp_list->next;
|
||||
}
|
||||
|
||||
GDK_NOTE (MISC, g_print ("...SetWindowPos(%p,0x0@+%d+%d)\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
new_position.x + dx, new_position.y + dy));
|
||||
if (!SetWindowPos (GDK_WINDOW_HWND (window), NULL,
|
||||
new_position.x + dx, new_position.y + dy, 0, 0,
|
||||
SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOSIZE | SWP_NOREDRAW))
|
||||
@ -443,6 +469,10 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
if (d_xoffset > 0 || d_yoffset > 0)
|
||||
gdk_window_queue_translation (window, MAX (d_xoffset, 0), MAX (d_yoffset, 0));
|
||||
|
||||
GDK_NOTE (MISC, g_print ("...SetWindowPos(%p,%dx%d@+%d+%d)\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
new_info.width, new_info.height,
|
||||
new_info.x, new_info.y));
|
||||
if (!SetWindowPos (GDK_WINDOW_HWND (window), NULL,
|
||||
new_info.x, new_info.y,
|
||||
new_info.width, new_info.height,
|
||||
@ -453,7 +483,11 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
gdk_window_tmp_reset_bg (window);
|
||||
|
||||
if (!impl->position_info.mapped && new_info.mapped && GDK_WINDOW_IS_MAPPED (obj))
|
||||
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNA);
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("...ShowWindow(%p, SW_SHOWNA)\n",
|
||||
GDK_WINDOW_HWND (window)));
|
||||
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNA);
|
||||
}
|
||||
|
||||
impl->position_info = new_info;
|
||||
|
||||
@ -470,7 +504,11 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
gdk_window_set_static_gravities (window, FALSE);
|
||||
|
||||
if (impl->position_info.mapped && !new_info.mapped)
|
||||
ShowWindow (GDK_WINDOW_HWND (window), SW_HIDE);
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("...ShowWindow(%p, SW_HIDE)\n",
|
||||
GDK_WINDOW_HWND (window)));
|
||||
ShowWindow (GDK_WINDOW_HWND (window), SW_HIDE);
|
||||
}
|
||||
|
||||
tmp_list = obj->children;
|
||||
while (tmp_list)
|
||||
@ -479,6 +517,10 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
tmp_list = tmp_list->next;
|
||||
}
|
||||
|
||||
GDK_NOTE (MISC, g_print ("...SetWindowPos(%p,%dx%d@+%d+%d)\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
new_info.width, new_info.height,
|
||||
new_info.x, new_info.y));
|
||||
if (!SetWindowPos (GDK_WINDOW_HWND (window), NULL,
|
||||
new_info.x, new_info.y,
|
||||
new_info.width, new_info.height,
|
||||
@ -497,7 +539,11 @@ _gdk_window_move_resize_child (GdkWindow *window,
|
||||
gdk_window_tmp_reset_bg (window);
|
||||
|
||||
if (!impl->position_info.mapped && new_info.mapped && GDK_WINDOW_IS_MAPPED (obj))
|
||||
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNA);
|
||||
{
|
||||
GDK_NOTE (MISC, g_print ("...ShowWindow(%p, SW_SHOWNA)\n",
|
||||
GDK_WINDOW_HWND (window)));
|
||||
ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNA);
|
||||
}
|
||||
|
||||
impl->position_info = new_info;
|
||||
}
|
||||
@ -769,6 +815,21 @@ gdk_window_postmove (GdkWindow *window,
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_queue_append (GdkWindow *window,
|
||||
GdkWindowQueueItem *item)
|
||||
{
|
||||
if (g_slist_length (translate_queue) >= 128)
|
||||
{
|
||||
GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
|
||||
|
||||
GDK_NOTE (EVENTS, g_print ("gdk_window_queue_append: length >= 128\n"));
|
||||
_gdk_window_process_expose (window, GetCurrentTime (), &impl->position_info.clip_rect);
|
||||
}
|
||||
|
||||
translate_queue = g_slist_append (translate_queue, item) ;
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_queue_translation (GdkWindow *window,
|
||||
gint dx,
|
||||
@ -781,13 +842,13 @@ gdk_window_queue_translation (GdkWindow *window,
|
||||
item->u.translate.dx = dx;
|
||||
item->u.translate.dy = dy;
|
||||
|
||||
GDK_NOTE (EVENTS, g_print ("gdk_window_queue_translation %#x %ld %d,%d\n",
|
||||
(guint) GDK_WINDOW_HWND (window),
|
||||
GDK_NOTE (EVENTS, g_print ("gdk_window_queue_translation %p %ld %d,%d\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
item->serial,
|
||||
dx, dy));
|
||||
|
||||
gdk_drawable_ref (window);
|
||||
translate_queue = g_slist_append (translate_queue, item);
|
||||
gdk_window_queue_append (window, item);
|
||||
}
|
||||
|
||||
gboolean
|
||||
@ -802,15 +863,15 @@ _gdk_windowing_window_queue_antiexpose (GdkWindow *window,
|
||||
item->type = GDK_WINDOW_QUEUE_ANTIEXPOSE;
|
||||
item->u.antiexpose.area = area;
|
||||
|
||||
GDK_NOTE (EVENTS, g_print ("_gdk_windowing_window_queue_antiexpose %#x %ld %dx%d@+%d+%d\n",
|
||||
(guint) GDK_WINDOW_HWND (window),
|
||||
GDK_NOTE (EVENTS, g_print ("_gdk_windowing_window_queue_antiexpose %p %ld %dx%d@+%d+%d\n",
|
||||
GDK_WINDOW_HWND (window),
|
||||
item->serial,
|
||||
area->extents.x2 - area->extents.x1,
|
||||
area->extents.y2 - area->extents.y1,
|
||||
area->extents.x1, area->extents.y1));
|
||||
|
||||
gdk_drawable_ref (window);
|
||||
translate_queue = g_slist_append (translate_queue, item);
|
||||
gdk_window_queue_append (window, item);
|
||||
|
||||
return TRUE;
|
||||
#else
|
||||
@ -822,8 +883,8 @@ _gdk_windowing_window_queue_antiexpose (GdkWindow *window,
|
||||
|
||||
g_return_val_if_fail (area != NULL, FALSE);
|
||||
|
||||
GDK_NOTE (MISC, g_print ("_gdk_windowing_window_queue_antiexpose %#x\n",
|
||||
(guint) GDK_WINDOW_HWND (window)));
|
||||
GDK_NOTE (MISC, g_print ("_gdk_windowing_window_queue_antiexpose %p\n",
|
||||
GDK_WINDOW_HWND (window)));
|
||||
|
||||
/* HB: not quite sure if this is the right thing to do.
|
||||
* (Region not to be proceesed by next WM_PAINT)
|
||||
@ -846,8 +907,8 @@ _gdk_window_process_expose (GdkWindow *window,
|
||||
|
||||
impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl);
|
||||
|
||||
GDK_NOTE (EVENTS, g_print ("_gdk_window_process_expose %#x %ld %dx%d@+%d+%d\n",
|
||||
(guint) GDK_WINDOW_HWND (window), serial,
|
||||
GDK_NOTE (EVENTS, g_print ("_gdk_window_process_expose %p %ld %dx%d@+%d+%d\n",
|
||||
GDK_WINDOW_HWND (window), serial,
|
||||
area->width, area->height, area->x, area->y));
|
||||
|
||||
while (tmp_list)
|
||||
|
Loading…
Reference in New Issue
Block a user