[gtk+] gdk: Drop GdkEventWindowState



commit 11a946df39f29b3cc0ce902c0c3b49abede1ead4
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu Dec 14 22:23:01 2017 -0500

    gdk: Drop GdkEventWindowState
    
    No longer generate this event. Instead, emit change
    notification for GdkWindow::state.

 docs/reference/gdk/gdk4-sections.txt |    1 -
 gdk/gdkevents.c                      |   77 +---------------------------------
 gdk/gdkevents.h                      |    8 ----
 gdk/gdkeventsprivate.h               |   20 ---------
 4 files changed, 1 insertions(+), 105 deletions(-)
---
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 43ea8c3..aacf2d4 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -723,7 +723,6 @@ GdkEventConfigure
 GdkEventProperty
 GdkEventDND
 GdkEventProximity
-GdkEventWindowState
 GdkEventOwnerChange
 GdkEventGrabBroken
 GdkEventTouchpadSwipe
diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c
index 32da413..3145b65 100644
--- a/gdk/gdkevents.c
+++ b/gdk/gdkevents.c
@@ -866,7 +866,6 @@ gdk_event_get_time (const GdkEvent *event)
       case GDK_EXPOSE:
       case GDK_MAP:
       case GDK_UNMAP:
-      case GDK_WINDOW_STATE:
       case GDK_GRAB_BROKEN:
       case GDK_EVENT_LAST:
       default:
@@ -946,7 +945,6 @@ gdk_event_get_state (const GdkEvent        *event,
       case GDK_EXPOSE:
       case GDK_MAP:
       case GDK_UNMAP:
-      case GDK_WINDOW_STATE:
       case GDK_GRAB_BROKEN:
       case GDK_PAD_BUTTON_PRESS:
       case GDK_PAD_BUTTON_RELEASE:
@@ -1939,60 +1937,18 @@ gdk_get_show_events (void)
   return (_gdk_debug_flags & GDK_DEBUG_EVENTS) != 0;
 }
 
-static GList *
-gdk_get_pending_window_state_event_link (GdkWindow *window)
-{
-  GdkDisplay *display = gdk_window_get_display (window);
-  GList *tmp_list;
-
-  for (tmp_list = display->queued_events; tmp_list; tmp_list = tmp_list->next)
-    {
-      GdkEvent *event = tmp_list->data;
-
-      if (event->any.type == GDK_WINDOW_STATE &&
-          event->any.window == window)
-        return tmp_list;
-    }
-
-  return NULL;
-}
-
 void
 _gdk_set_window_state (GdkWindow      *window,
                        GdkWindowState  new_state)
 {
   GdkDisplay *display = gdk_window_get_display (window);
-  GdkEvent *temp_event;
   GdkWindowState old;
-  GList *pending_event_link;
 
   g_return_if_fail (window != NULL);
 
   if (new_state == window->state)
     return; /* No actual work to do, nothing changed. */
 
-  temp_event = gdk_event_new (GDK_WINDOW_STATE);
-
-  temp_event->any.window = g_object_ref (window);
-  temp_event->any.send_event = FALSE;
-  temp_event->window_state.new_window_state = new_state;
-
-  pending_event_link = gdk_get_pending_window_state_event_link (window);
-  if (pending_event_link)
-    {
-      old = window->old_state;
-      _gdk_event_queue_remove_link (display, pending_event_link);
-      gdk_event_free (pending_event_link->data);
-      g_list_free_1 (pending_event_link);
-    }
-  else
-    {
-      old = window->state;
-      window->old_state = old;
-    }
-
-  temp_event->window_state.changed_mask = new_state ^ old;
-
   /* Actually update the field in GdkWindow, this is sort of an odd
    * place to do it, but seems like the safest since it ensures we expose no
    * inconsistent state to the user.
@@ -2000,8 +1956,7 @@ _gdk_set_window_state (GdkWindow      *window,
 
   window->state = new_state;
 
-  if (temp_event->window_state.changed_mask & GDK_WINDOW_STATE_WITHDRAWN)
-    _gdk_window_update_viewable (window);
+  _gdk_window_update_viewable (window);
 
   /* We only really send the event to toplevels, since
    * all the window states don't apply to non-toplevels.
@@ -2012,7 +1967,6 @@ _gdk_set_window_state (GdkWindow      *window,
     {
     case GDK_WINDOW_TOPLEVEL:
     case GDK_WINDOW_TEMP: /* ? */
-      gdk_display_put_event (display, temp_event);
       g_object_notify (G_OBJECT (window), "state");
       break;
     case GDK_WINDOW_FOREIGN:
@@ -2021,8 +1975,6 @@ _gdk_set_window_state (GdkWindow      *window,
     default:
       break;
     }
-
-  gdk_event_free (temp_event);
 }
 
 void
@@ -2461,33 +2413,6 @@ gdk_event_get_grab_window (const GdkEvent  *event,
 }
 
 /**
- * gdk_event_get_window_state:
- * @event: a #GdkEvent
- * @changed: (out):
- * @new_state: (out):
- * 
- * Returns: %TRUE on success, otherwise %FALSE
- **/
-gboolean
-gdk_event_get_window_state (const GdkEvent *event,
-                            GdkWindowState *changed,
-                            GdkWindowState *new_state)
-
-{
-  if (!event)
-    return FALSE;
-
-  if (event->any.type == GDK_WINDOW_STATE)
-    {
-      *changed = event->window_state.changed_mask;
-      *new_state = event->window_state.new_window_state;
-      return TRUE;
-    }
-
-  return FALSE;
-}
-
-/**
  * gdk_event_get_focus_in:
  * @event: a #GdkEvent
  * @focus_in: (out):
diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
index cbb0ca7..aca8562 100644
--- a/gdk/gdkevents.h
+++ b/gdk/gdkevents.h
@@ -137,7 +137,6 @@ typedef struct _GdkEventCrossing    GdkEventCrossing;
 typedef struct _GdkEventConfigure   GdkEventConfigure;
 typedef struct _GdkEventProximity   GdkEventProximity;
 typedef struct _GdkEventDND         GdkEventDND;
-typedef struct _GdkEventWindowState GdkEventWindowState;
 typedef struct _GdkEventSetting     GdkEventSetting;
 typedef struct _GdkEventGrabBroken  GdkEventGrabBroken;
 typedef struct _GdkEventTouchpadSwipe GdkEventTouchpadSwipe;
@@ -246,8 +245,6 @@ typedef GdkFilterReturn (*GdkFilterFunc) (GdkXEvent *xevent,
  * @GDK_DROP_FINISHED: the drop operation initiated by the window has completed.
  * @GDK_CLIENT_EVENT: a message has been received from another application.
  * @GDK_SCROLL: the scroll wheel was turned
- * @GDK_WINDOW_STATE: the state of a window has changed. See #GdkWindowState
- *   for the possible window states
  * @GDK_GRAB_BROKEN: a pointer or keyboard grab was broken. This event type
  *   was added in 2.8.
  * @GDK_DAMAGE: the content of the window has been changed. This event type
@@ -309,7 +306,6 @@ typedef enum
   GDK_DROP_FINISHED     = 27,
   GDK_CLIENT_EVENT     = 28,
   GDK_SCROLL            = 31,
-  GDK_WINDOW_STATE      = 32,
   GDK_GRAB_BROKEN       = 35,
   GDK_DAMAGE            = 36,
   GDK_TOUCH_BEGIN       = 37,
@@ -674,10 +670,6 @@ GDK_AVAILABLE_IN_3_92
 gboolean       gdk_event_get_grab_window (const GdkEvent  *event,
                                           GdkWindow      **window);
 GDK_AVAILABLE_IN_3_92
-gboolean       gdk_event_get_window_state (const GdkEvent  *event,
-                                           GdkWindowState  *changed,
-                                           GdkWindowState  *new_state);
-GDK_AVAILABLE_IN_3_92
 gboolean       gdk_event_get_focus_in (const GdkEvent *event,
                                        gboolean       *focus_in);
 GDK_AVAILABLE_IN_3_92
diff --git a/gdk/gdkeventsprivate.h b/gdk/gdkeventsprivate.h
index feb6346..4e6e438 100644
--- a/gdk/gdkeventsprivate.h
+++ b/gdk/gdkeventsprivate.h
@@ -406,24 +406,6 @@ struct _GdkEventProximity
 };
 
 /**
- * GdkEventWindowState:
- * @type: the type of the event (%GDK_WINDOW_STATE).
- * @window: the window which received the event.
- * @send_event: %TRUE if the event was sent explicitly.
- * @changed_mask: mask specifying what flags have changed.
- * @new_window_state: the new window state, a combination of
- *   #GdkWindowState bits.
- *
- * Generated when the state of a toplevel window changes.
- */
-struct _GdkEventWindowState
-{
-  GdkEventAny any;
-  GdkWindowState changed_mask;
-  GdkWindowState new_window_state;
-};
-
-/**
  * GdkEventGrabBroken:
  * @type: the type of the event (%GDK_GRAB_BROKEN)
  * @window: the window which received the event, i.e. the window
@@ -640,7 +622,6 @@ struct _GdkEventPadGroupMode {
  * @configure: a #GdkEventConfigure
  * @proximity: a #GdkEventProximity
  * @dnd: a #GdkEventDND
- * @window_state: a #GdkEventWindowState
  * @grab_broken: a #GdkEventGrabBroken
  * @touchpad_swipe: a #GdkEventTouchpadSwipe
  * @touchpad_pinch: a #GdkEventTouchpadPinch
@@ -693,7 +674,6 @@ union _GdkEvent
   GdkEventConfigure        configure;
   GdkEventProximity        proximity;
   GdkEventDND               dnd;
-  GdkEventWindowState       window_state;
   GdkEventGrabBroken        grab_broken;
   GdkEventTouchpadSwipe     touchpad_swipe;
   GdkEventTouchpadPinch     touchpad_pinch;


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