Stop providing the owner in GdkEventOwnerChange
authorMatthias Clasen <mclasen@redhat.com>
Thu, 2 Nov 2017 02:53:24 +0000 (22:53 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 2 Nov 2017 02:53:24 +0000 (22:53 -0400)
This information is rarely useful, and it is one
of the last places where we create foreign windows.

gdk/gdkevents.c
gdk/gdkeventsprivate.h
gdk/wayland/gdkdevice-wayland.c
gdk/win32/gdkdisplay-win32.c
gdk/win32/gdkevents-win32.c
gdk/x11/gdkdisplay-x11.c

index f768003764e5a2d6006e1ffd510e80aa47c2eb81..0d76cc99436844b7dd45d7e81e107c33c0760c33 100644 (file)
@@ -716,12 +716,6 @@ gdk_event_copy (const GdkEvent *event)
                                            sizeof (gdouble) * gdk_device_get_n_axes (event->motion.device));
       break;
 
-    case GDK_OWNER_CHANGE:
-      new_event->owner_change.owner = event->owner_change.owner;
-      if (new_event->owner_change.owner)
-        g_object_ref (new_event->owner_change.owner);
-      break;
-
     case GDK_SELECTION_CLEAR:
     case GDK_SELECTION_NOTIFY:
     case GDK_SELECTION_REQUEST:
@@ -809,11 +803,6 @@ gdk_event_free (GdkEvent *event)
     case GDK_MOTION_NOTIFY:
       g_free (event->motion.axes);
       break;
-      
-    case GDK_OWNER_CHANGE:
-      if (event->owner_change.owner)
-        g_object_unref (event->owner_change.owner);
-      break;
 
     case GDK_SELECTION_CLEAR:
     case GDK_SELECTION_NOTIFY:
index 3f19fcbd71de9925685b3a6613a17a4a251d330c..669a747b2f4cb3d7bab5edc2f2627428f034508e 100644 (file)
@@ -436,7 +436,6 @@ struct _GdkEventSelection
  * @type: the type of the event (%GDK_OWNER_CHANGE).
  * @window: the window which received the event
  * @send_event: %TRUE if the event was sent explicitly.
- * @owner: the new owner of the selection, or %NULL if there is none
  * @reason: the reason for the ownership change as a #GdkOwnerChange value
  * @selection: the atom identifying the selection
  * @time: the timestamp of the event
@@ -454,7 +453,6 @@ struct _GdkEventOwnerChange
   GdkEventType type;
   GdkWindow *window;
   gint8 send_event;
-  GdkWindow *owner;
   GdkOwnerChange reason;
   GdkAtom selection;
   guint32 time;
index 454c54604d41f9ecd2e648785cd669d4db8b4f10..c851823aa342a3542b95f89f6b0f99e61ac282dc 100644 (file)
@@ -1083,7 +1083,6 @@ emit_selection_owner_change (GdkWindow *window,
 
   event = gdk_event_new (GDK_OWNER_CHANGE);
   event->owner_change.window = g_object_ref (window);
-  event->owner_change.owner = NULL;
   event->owner_change.reason = GDK_OWNER_CHANGE_NEW_OWNER;
   event->owner_change.selection = atom;
   event->owner_change.time = GDK_CURRENT_TIME;
index 7af465c9d95676197c6a234866c1419082684771..2d8eb2c95c854404e2e574df6f9dd96bd187a535 100644 (file)
@@ -618,13 +618,8 @@ inner_clipboard_window_procedure (HWND   hwnd,
 
         GDK_NOTE (DND, g_print (" \n"));
 
-        owner = gdk_win32_window_lookup_for_display (_gdk_display, hwnd_owner);
-        if (owner == NULL)
-          owner = gdk_win32_window_foreign_new_for_display (_gdk_display, hwnd_owner);
-
         event = gdk_event_new (GDK_OWNER_CHANGE);
         event->owner_change.window = gdk_get_default_root_window ();
-        event->owner_change.owner = owner;
         event->owner_change.reason = GDK_OWNER_CHANGE_NEW_OWNER;
         event->owner_change.selection = GDK_SELECTION_CLIPBOARD;
         event->owner_change.time = _gdk_win32_get_next_tick (0);
index 3d7d6ae196e2901a0649c78ec91e201c27a8a434..aee97c470f34b9ee0678c98cac9f7a7d4a30c77d 100644 (file)
@@ -842,9 +842,6 @@ fixup_event (GdkEvent *event)
        (event->any.type == GDK_SELECTION_REQUEST)) &&
       (event->selection.requestor != NULL))
     g_object_ref (event->selection.requestor);
-  if ((event->any.type == GDK_OWNER_CHANGE) &&
-      (event->owner_change.owner != NULL))
-    g_object_ref (event->owner_change.owner);
   event->any.send_event = InSendMessage ();
 }
 
index c76348f98c52191e5b467106706598b474af6a2f..752d2abfd0c196fcec7f8baf20e4eb9b1b0f51ea 100644 (file)
@@ -1155,18 +1155,13 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
 
          event->owner_change.type = GDK_OWNER_CHANGE;
          event->owner_change.window = window;
-          if (selection_notify->owner != None)
-            event->owner_change.owner = gdk_x11_window_foreign_new_for_display (display,
-                                                                                selection_notify->owner);
-          else
-            event->owner_change.owner = NULL;
          event->owner_change.reason = selection_notify->subtype;
-         event->owner_change.selection = 
-           gdk_x11_xatom_to_atom_for_display (display, 
+         event->owner_change.selection =
+           gdk_x11_xatom_to_atom_for_display (display,
                                               selection_notify->selection);
          event->owner_change.time = selection_notify->timestamp;
          event->owner_change.selection_time = selection_notify->selection_timestamp;
-         
+
          return_val = TRUE;
        }
       else