[gtk+] wip _gdk_display



commit bc3c855e35186a6b1a7a2e56cc23c3868f5438a2
Author: Paolo Borelli <pborelli gnome org>
Date:   Mon Feb 22 17:55:16 2016 +0100

    wip _gdk_display

 gdk/win32/gdkevents-win32.c    |   75 +++++++++++++++++++++++++---------------
 gdk/win32/gdkselection-win32.c |    9 -----
 gdk/win32/gdkwindow-win32.c    |   15 ++++----
 3 files changed, 55 insertions(+), 44 deletions(-)
---
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 591219d..51bf342 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 e1beb06..6d7b7c7 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 905f670..bd64753 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);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]