forked from AuroraMiddleware/gtk
win32: Make flush/sync work like in X
gdk_flush() should gdk_display_sync() on all open displays. Both for display_flush and display_sync it seems useful to call GdiFlush, but we don't have anything extra to do for display_sync, as there is no inherent roundtrip on win32. This should close bug #84314
This commit is contained in:
parent
d27b402a85
commit
a1828e8b60
@ -586,6 +586,15 @@ gdk_win32_display_flush (GdkDisplay * display)
|
||||
GdiFlush ();
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
gdk_win32_display_sync (GdkDisplay * display)
|
||||
{
|
||||
g_return_if_fail (display == _gdk_display);
|
||||
|
||||
GdiFlush ();
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_win32_display_dispose (GObject *object)
|
||||
{
|
||||
@ -657,7 +666,7 @@ gdk_win32_display_class_init (GdkWin32DisplayClass *klass)
|
||||
display_class->get_screen = gdk_win32_display_get_screen;
|
||||
display_class->get_default_screen = gdk_win32_display_get_default_screen;
|
||||
display_class->beep = gdk_win32_display_beep;
|
||||
display_class->sync = _gdk_win32_display_sync;
|
||||
display_class->sync = gdk_win32_display_sync;
|
||||
display_class->flush = gdk_win32_display_flush;
|
||||
display_class->has_pending = _gdk_win32_display_has_pending;
|
||||
display_class->queue_events = _gdk_win32_display_queue_events;
|
||||
|
@ -3415,16 +3415,3 @@ is_modally_blocked (GdkWindow *window)
|
||||
GdkWindow *modal_current = _gdk_modal_current ();
|
||||
return modal_current != NULL ? gdk_window_get_toplevel (window) != modal_current : FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_win32_display_sync (GdkDisplay * display)
|
||||
{
|
||||
MSG msg;
|
||||
|
||||
g_return_if_fail (display == _gdk_display);
|
||||
|
||||
/* Process all messages currently available */
|
||||
while (PeekMessageW (&msg, NULL, 0, 0, PM_REMOVE))
|
||||
DispatchMessageW (&msg);
|
||||
}
|
||||
|
||||
|
@ -388,7 +388,6 @@ gboolean _gdk_win32_display_supports_cursor_color (GdkDisplay *display);
|
||||
|
||||
GList *_gdk_win32_display_list_devices (GdkDisplay *dpy);
|
||||
|
||||
void _gdk_win32_display_sync (GdkDisplay * display);
|
||||
gboolean _gdk_win32_display_has_pending (GdkDisplay *display);
|
||||
void _gdk_win32_display_queue_events (GdkDisplay *display);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user