diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 591219dba8..51bf3422d7 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -447,15 +447,17 @@ find_window_for_mouse_event (GdkWindow* reported_window, MSG* msg) { POINT pt; + GdkDisplay *display; GdkDeviceManagerWin32 *device_manager; GdkWindow *event_window; HWND hwnd; RECT rect; GdkDeviceGrabInfo *grab; - device_manager = GDK_DEVICE_MANAGER_WIN32 (gdk_display_get_device_manager (_gdk_display)); + display = gdk_display_get_default (); + device_manager = GDK_DEVICE_MANAGER_WIN32 (gdk_display_get_device_manager (display)); - grab = _gdk_display_get_last_device_grab (_gdk_display, device_manager->core_pointer); + grab = _gdk_display_get_last_device_grab (display, device_manager->core_pointer); if (grab == NULL) return reported_window; @@ -844,16 +846,19 @@ fixup_event (GdkEvent *event) void _gdk_win32_append_event (GdkEvent *event) { + GdkDisplay *display; GList *link; + display = gdk_display_get_default (); + fixup_event (event); #if 1 - link = _gdk_event_queue_append (_gdk_display, event); + link = _gdk_event_queue_append (display, event); GDK_NOTE (EVENTS, _gdk_win32_print_event (event)); /* event morphing, the passed in may not be valid afterwards */ - _gdk_windowing_got_event (_gdk_display, link, event, 0); + _gdk_windowing_got_event (display, link, event, 0); #else - _gdk_event_queue_append (_gdk_display, event); + _gdk_event_queue_append (display, event); GDK_NOTE (EVENTS, _gdk_win32_print_event (event)); #endif } @@ -932,6 +937,7 @@ apply_event_filters (GdkWindow *window, { GdkFilterReturn result = GDK_FILTER_CONTINUE; GdkEvent *event; + GdkDisplay *display; GList *node; GList *tmp_list; @@ -939,11 +945,13 @@ apply_event_filters (GdkWindow *window, event->any.window = g_object_ref (window); ((GdkEventPrivate *)event)->flags |= GDK_EVENT_PENDING; + display = gdk_display_get_default (); + /* I think GdkFilterFunc semantics require the passed-in event * to already be in the queue. The filter func can generate * more events and append them after it if it likes. */ - node = _gdk_event_queue_append (_gdk_display, event); + node = _gdk_event_queue_append (display, event); tmp_list = *filters; while (tmp_list) @@ -979,7 +987,7 @@ apply_event_filters (GdkWindow *window, if (result == GDK_FILTER_CONTINUE || result == GDK_FILTER_REMOVE) { - _gdk_event_queue_remove_link (_gdk_display, node); + _gdk_event_queue_remove_link (display, node); g_list_free_1 (node); gdk_event_free (event); } @@ -989,6 +997,7 @@ apply_event_filters (GdkWindow *window, fixup_event (event); GDK_NOTE (EVENTS, _gdk_win32_print_event (event)); } + return result; } @@ -1639,7 +1648,6 @@ handle_nchittest (HWND hwnd, return TRUE; } - static void generate_button_event (GdkEventType type, gint button, @@ -1652,7 +1660,7 @@ generate_button_event (GdkEventType type, if (_gdk_input_ignore_core) return; - device_manager = GDK_DEVICE_MANAGER_WIN32 (gdk_display_get_device_manager (_gdk_display)); + device_manager = GDK_DEVICE_MANAGER_WIN32 (gdk_display_get_device_manager (gdk_display_get_default ())); event->button.window = window; event->button.time = _gdk_win32_get_next_tick (msg->time); @@ -1892,6 +1900,7 @@ gdk_event_translate (MSG *msg, wchar_t wbuf[100]; gint ccount; + GdkDisplay *display; GdkWindow *window = NULL; GdkWindowImplWin32 *impl; @@ -1912,13 +1921,14 @@ gdk_event_translate (MSG *msg, int i; + display = gdk_display_get_default (); window = gdk_win32_handle_table_lookup (msg->hwnd); if (_gdk_default_filters) { /* Apply global filters */ - GdkFilterReturn result = apply_event_filters (window ? window : gdk_screen_get_root_window (gdk_display_get_default_screen (_gdk_display)), + GdkFilterReturn result = apply_event_filters (window ? window : gdk_screen_get_root_window (gdk_display_get_default_screen (display)), msg, &_gdk_default_filters); @@ -1950,12 +1960,12 @@ gdk_event_translate (MSG *msg, return FALSE; } - device_manager = gdk_display_get_device_manager (_gdk_display); + device_manager = gdk_display_get_device_manager (display); device_manager_win32 = GDK_DEVICE_MANAGER_WIN32 (device_manager); - keyboard_grab = _gdk_display_get_last_device_grab (_gdk_display, + keyboard_grab = _gdk_display_get_last_device_grab (display, device_manager_win32->core_keyboard); - pointer_grab = _gdk_display_get_last_device_grab (_gdk_display, + pointer_grab = _gdk_display_get_last_device_grab (display, device_manager_win32->core_pointer); g_object_ref (window); @@ -1991,7 +2001,7 @@ gdk_event_translate (MSG *msg, event = gdk_event_new (GDK_NOTHING); ((GdkEventPrivate *)event)->flags |= GDK_EVENT_PENDING; - node = _gdk_event_queue_append (_gdk_display, event); + node = _gdk_event_queue_append (display, event); tmp_list = client_filters; while (tmp_list) @@ -2014,7 +2024,7 @@ gdk_event_translate (MSG *msg, switch (result) { case GDK_FILTER_REMOVE: - _gdk_event_queue_remove_link (_gdk_display, node); + _gdk_event_queue_remove_link (display, node); g_list_free_1 (node); gdk_event_free (event); return_val = TRUE; @@ -2145,7 +2155,7 @@ gdk_event_translate (MSG *msg, ToUnicode (VK_PACKET, HIWORD (msg->lParam), key_state, wbuf, 1, 0) == 1) event->key.keyval = gdk_unicode_to_keyval (wbuf[0]); else - gdk_keymap_translate_keyboard_state (_gdk_win32_display_get_keymap (_gdk_display), + gdk_keymap_translate_keyboard_state (_gdk_win32_display_get_keymap (display), event->key.hardware_keycode, event->key.state, event->key.group, @@ -2370,7 +2380,7 @@ gdk_event_translate (MSG *msg, if (PtInRect (&rect, client_pt)) new_window = gdk_win32_handle_table_lookup (hwnd); } - synthesize_crossing_events (_gdk_display, + synthesize_crossing_events (display, pointer_grab->native_window, new_window, GDK_CROSSING_UNGRAB, &msg->pt, @@ -2424,7 +2434,7 @@ gdk_event_translate (MSG *msg, GDK_NOTE (EVENTS, g_print (" mouse_sinwod %p -> %p", mouse_window ? GDK_WINDOW_HWND (mouse_window) : NULL, new_window ? GDK_WINDOW_HWND (new_window) : NULL)); - synthesize_crossing_events (_gdk_display, + synthesize_crossing_events (display, mouse_window, new_window, GDK_CROSSING_NORMAL, &msg->pt, @@ -2515,7 +2525,7 @@ gdk_event_translate (MSG *msg, } if (!ignore_leave) - synthesize_crossing_events (_gdk_display, + synthesize_crossing_events (display, mouse_window, new_window, GDK_CROSSING_NORMAL, &msg->pt, @@ -3402,7 +3412,7 @@ gdk_event_translate (MSG *msg, event->any.window = window; g_object_ref (window); - if (gdk_input_other_event (_gdk_display, event, msg, window)) + if (gdk_input_other_event (display, event, msg, window)) _gdk_win32_append_event (event); else gdk_event_free (event); @@ -3439,16 +3449,19 @@ static gboolean gdk_event_prepare (GSource *source, gint *timeout) { + GdkDisplay *display; gboolean retval; + display = gdk_display_get_default (); + gdk_threads_enter (); *timeout = -1; - if (_gdk_display->event_pause_count > 0) - retval =_gdk_event_queue_find_first (_gdk_display) != NULL; + if (display->event_pause_count > 0) + retval =_gdk_event_queue_find_first (display) != NULL; else - retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || + retval = (_gdk_event_queue_find_first (display) != NULL || (modal_win32_dialog == NULL && GetQueueStatus (QS_ALLINPUT) != 0)); @@ -3460,14 +3473,17 @@ gdk_event_prepare (GSource *source, static gboolean gdk_event_check (GSource *source) { + GdkDisplay *display; gboolean retval; + display = gdk_display_get_default (); + gdk_threads_enter (); - if (_gdk_display->event_pause_count > 0) - retval = _gdk_event_queue_find_first (_gdk_display) != NULL; + if (display->event_pause_count > 0) + retval = _gdk_event_queue_find_first (display) != NULL; else if (event_poll_fd.revents & G_IO_IN) - retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || + retval = (_gdk_event_queue_find_first (display) != NULL || (modal_win32_dialog == NULL && GetQueueStatus (QS_ALLINPUT) != 0)); else @@ -3483,12 +3499,15 @@ gdk_event_dispatch (GSource *source, GSourceFunc callback, gpointer user_data) { + GdkDisplay *display; GdkEvent *event; + display = gdk_display_get_default (); + gdk_threads_enter (); - _gdk_win32_display_queue_events (_gdk_display); - event = _gdk_event_unqueue (_gdk_display); + _gdk_win32_display_queue_events (display); + event = _gdk_event_unqueue (display); if (event) { diff --git a/gdk/win32/gdkselection-win32.c b/gdk/win32/gdkselection-win32.c index e1beb06947..6d7b7c7ec9 100644 --- a/gdk/win32/gdkselection-win32.c +++ b/gdk/win32/gdkselection-win32.c @@ -261,7 +261,6 @@ _gdk_win32_display_set_selection_owner (GdkDisplay *display, HWND hwnd; GdkEvent tmp_event; - g_return_val_if_fail (display == _gdk_display, FALSE); g_return_val_if_fail (selection != GDK_NONE, FALSE); GDK_NOTE (DND, { @@ -337,7 +336,6 @@ _gdk_win32_display_get_selection_owner (GdkDisplay *display, { GdkWindow *window; - g_return_val_if_fail (display == _gdk_display, NULL); g_return_val_if_fail (selection != GDK_NONE, NULL); if (selection == GDK_SELECTION_CLIPBOARD) @@ -887,8 +885,6 @@ _gdk_win32_display_send_selection_notify (GdkDisplay *display, GdkAtom property, guint32 time) { - g_return_if_fail (display == _gdk_display); - GDK_NOTE (DND, { gchar *sel_name = gdk_atom_name (selection); gchar *tgt_name = gdk_atom_name (target); @@ -918,8 +914,6 @@ gdk_text_property_to_text_list_for_display (GdkDisplay *display, const gchar *charset; gchar *source_charset; - g_return_val_if_fail (display == _gdk_display, 0); - GDK_NOTE (DND, { gchar *enc_name = gdk_atom_name (encoding); @@ -1041,7 +1035,6 @@ _gdk_win32_display_text_property_to_utf8_list (GdkDisplay *display, { g_return_val_if_fail (text != NULL, 0); g_return_val_if_fail (length >= 0, 0); - g_return_val_if_fail (display == _gdk_display, 0); if (encoding == GDK_TARGET_STRING) { @@ -1075,7 +1068,6 @@ gdk_string_to_compound_text_for_display (GdkDisplay *display, { g_return_val_if_fail (str != NULL, 0); g_return_val_if_fail (length >= 0, 0); - g_return_val_if_fail (display == _gdk_display, 0); GDK_NOTE (DND, g_print ("gdk_string_to_compound_text_for_display: %.20s\n", str)); @@ -1112,7 +1104,6 @@ gdk_utf8_to_compound_text_for_display (GdkDisplay *display, gint *length) { g_return_val_if_fail (str != NULL, FALSE); - g_return_val_if_fail (display == _gdk_display, FALSE); GDK_NOTE (DND, g_print ("gdk_utf8_to_compound_text_for_display: %.20s\n", str)); diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 905f6703e3..bd647538d1 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -448,6 +448,8 @@ _gdk_win32_display_create_window_impl (GdkDisplay *display, /* check consistency of redundant information */ guint remaining_mask = attributes_mask; + g_return_if_fail (display == gdk_display_get_default ()); + GDK_NOTE (MISC, g_print ("_gdk_window_impl_new: %s %s\n", (window->window_type == GDK_WINDOW_TOPLEVEL ? "TOPLEVEL" : @@ -692,8 +694,8 @@ _gdk_win32_display_create_window_impl (GdkDisplay *display, } GdkWindow * -gdk_win32_window_foreign_new_for_display (GdkDisplay *display, - HWND anid) +gdk_win32_window_foreign_new_for_display (GdkDisplay *display, + HWND anid) { GdkWindow *window; GdkWindowImplWin32 *impl; @@ -702,8 +704,6 @@ gdk_win32_window_foreign_new_for_display (GdkDisplay *display, RECT rect; POINT point; - g_return_val_if_fail (display == _gdk_display, NULL); - if ((window = gdk_win32_window_lookup_for_display (display, anid)) != NULL) return g_object_ref (window); @@ -1960,7 +1960,8 @@ gdk_win32_window_set_device_cursor (GdkWindow *window, /* Use default cursor otherwise. Setting it to NULL will make it use * system-default cursor, which is not controlled by GTK cursor theming. */ - impl->cursor = _gdk_win32_display_get_cursor_for_type (_gdk_display, GDK_LEFT_PTR); + impl->cursor = _gdk_win32_display_get_cursor_for_type (gdk_display_get_default (), + GDK_LEFT_PTR); /* Destroy the previous cursor */ if (previous_cursor != NULL) @@ -2144,7 +2145,7 @@ gdk_display_warp_device (GdkDisplay *display, gint x, gint y) { - g_return_if_fail (display == _gdk_display); + g_return_if_fail (display == gdk_display_get_default ()); g_return_if_fail (screen == gdk_display_get_default_screen (display)); g_return_if_fail (GDK_IS_DEVICE (device)); g_return_if_fail (display == gdk_device_get_display (device)); @@ -3227,7 +3228,7 @@ GdkWindow * gdk_win32_window_lookup_for_display (GdkDisplay *display, HWND anid) { - g_return_val_if_fail (display == _gdk_display, NULL); + g_return_val_if_fail (display == gdk_display_get_default (), NULL); return (GdkWindow*) gdk_win32_handle_table_lookup (anid); }