[gtk+] API: gdk: Remove gdk_window_set_override_redirect()



commit 33e7a7898faf66562c8591c656da4f1fdfcfa87b
Author: Benjamin Otte <otte redhat com>
Date:   Fri Nov 4 02:37:11 2016 +0100

    API: gdk: Remove gdk_window_set_override_redirect()
    
    When you want an override-redirect window, you create it that way.
    Changing that behavior is not supported anywhere (but on X of course).

 docs/reference/gdk/gdk4-sections.txt |    1 -
 gdk/broadway/gdkwindow-broadway.c    |    8 --------
 gdk/gdkwindow.c                      |   27 ++-------------------------
 gdk/gdkwindow.h                      |    3 ---
 gdk/gdkwindowimpl.h                  |    2 --
 gdk/mir/gdkmirwindowimpl.c           |    8 --------
 gdk/quartz/gdkwindow-quartz.c        |    8 --------
 gdk/wayland/gdkwindow-wayland.c      |    7 -------
 gdk/win32/gdkwindow-win32.c          |   32 ++++----------------------------
 gdk/win32/gdkwindow-win32.h          |    1 -
 gdk/x11/gdkwindow-x11.c              |   23 -----------------------
 11 files changed, 6 insertions(+), 114 deletions(-)
---
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 7f86bfe..0441f3f 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -358,7 +358,6 @@ gdk_window_get_frame_clock
 
 <SUBSECTION>
 gdk_window_set_user_data
-gdk_window_set_override_redirect
 gdk_window_set_accept_focus
 gdk_window_get_accept_focus
 gdk_window_set_focus_on_map
diff --git a/gdk/broadway/gdkwindow-broadway.c b/gdk/broadway/gdkwindow-broadway.c
index 6fb0300..28e5733 100644
--- a/gdk/broadway/gdkwindow-broadway.c
+++ b/gdk/broadway/gdkwindow-broadway.c
@@ -785,13 +785,6 @@ gdk_window_broadway_input_shape_combine_region (GdkWindow       *window,
 {
 }
 
-
-static void
-gdk_broadway_window_set_override_redirect (GdkWindow *window,
-                                          gboolean override_redirect)
-{
-}
-
 static void
 gdk_broadway_window_set_accept_focus (GdkWindow *window,
                                      gboolean accept_focus)
@@ -1580,7 +1573,6 @@ gdk_window_impl_broadway_class_init (GdkWindowImplBroadwayClass *klass)
   impl_class->set_startup_id = gdk_broadway_window_set_startup_id;
   impl_class->set_transient_for = gdk_broadway_window_set_transient_for;
   impl_class->get_frame_extents = gdk_broadway_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_broadway_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_broadway_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_broadway_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_broadway_window_set_icon_list;
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index e53d3a7..3c57b10 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -9144,9 +9144,8 @@ gdk_window_set_urgency_hint (GdkWindow *window,
  * gdk_window_move_resize().
  *
  * Note that on X11, this effect has no effect on windows
- * of type %GDK_WINDOW_TEMP or windows where override redirect
- * has been turned on via gdk_window_set_override_redirect()
- * since these windows are not resizable by the user.
+ * of type %GDK_WINDOW_TEMP since these windows are not resizable
+ * by the user.
  *
  * Since you can’t count on the windowing system doing the
  * constraints for programmatic resizes, you should generally
@@ -9293,28 +9292,6 @@ gdk_window_get_frame_extents (GdkWindow    *window,
 }
 
 /**
- * gdk_window_set_override_redirect:
- * @window: a toplevel #GdkWindow
- * @override_redirect: %TRUE if window should be override redirect
- *
- * An override redirect window is not under the control of the window manager.
- * This means it won’t have a titlebar, won’t be minimizable, etc. - it will
- * be entirely under the control of the application. The window manager
- * can’t see the override redirect window at all.
- *
- * Override redirect should only be used for short-lived temporary
- * windows, such as popup menus. #GtkMenu uses an override redirect
- * window in its implementation, for example.
- *
- **/
-void
-gdk_window_set_override_redirect (GdkWindow *window,
-                                 gboolean override_redirect)
-{
-  GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_override_redirect (window, override_redirect);
-}
-
-/**
  * gdk_window_set_accept_focus:
  * @window: a toplevel #GdkWindow
  * @accept_focus: %TRUE if the window should receive input focus
diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h
index 08d7338..9d4535b 100644
--- a/gdk/gdkwindow.h
+++ b/gdk/gdkwindow.h
@@ -538,9 +538,6 @@ GDK_AVAILABLE_IN_ALL
 void          gdk_window_set_user_data         (GdkWindow     *window,
                                                 gpointer       user_data);
 GDK_AVAILABLE_IN_ALL
-void          gdk_window_set_override_redirect (GdkWindow     *window,
-                                                gboolean       override_redirect);
-GDK_AVAILABLE_IN_ALL
 gboolean      gdk_window_get_accept_focus      (GdkWindow     *window);
 GDK_AVAILABLE_IN_ALL
 void          gdk_window_set_accept_focus      (GdkWindow     *window,
diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h
index 2ebf434..680997d 100644
--- a/gdk/gdkwindowimpl.h
+++ b/gdk/gdkwindowimpl.h
@@ -186,8 +186,6 @@ struct _GdkWindowImplClass
                                         GdkWindow *parent);
   void         (* get_frame_extents)    (GdkWindow    *window,
                                         GdkRectangle *rect);
-  void         (* set_override_redirect) (GdkWindow *window,
-                                         gboolean override_redirect);
   void         (* set_accept_focus)     (GdkWindow *window,
                                         gboolean accept_focus);
   void         (* set_focus_on_map)     (GdkWindow *window,
diff --git a/gdk/mir/gdkmirwindowimpl.c b/gdk/mir/gdkmirwindowimpl.c
index 03dd4df..48ae34d 100644
--- a/gdk/mir/gdkmirwindowimpl.c
+++ b/gdk/mir/gdkmirwindowimpl.c
@@ -1175,13 +1175,6 @@ gdk_mir_window_impl_get_frame_extents (GdkWindow    *window,
 }
 
 static void
-gdk_mir_window_impl_set_override_redirect (GdkWindow *window,
-                                           gboolean   override_redirect)
-{
-  //g_printerr ("gdk_mir_window_impl_set_override_redirect window=%p\n", window);
-}
-
-static void
 gdk_mir_window_impl_set_accept_focus (GdkWindow *window,
                                       gboolean   accept_focus)
 {
@@ -1805,7 +1798,6 @@ gdk_mir_window_impl_class_init (GdkMirWindowImplClass *klass)
   impl_class->set_startup_id = gdk_mir_window_impl_set_startup_id;
   impl_class->set_transient_for = gdk_mir_window_impl_set_transient_for;
   impl_class->get_frame_extents = gdk_mir_window_impl_get_frame_extents;
-  impl_class->set_override_redirect = gdk_mir_window_impl_set_override_redirect;
   impl_class->set_accept_focus = gdk_mir_window_impl_set_accept_focus;
   impl_class->set_focus_on_map = gdk_mir_window_impl_set_focus_on_map;
   impl_class->set_icon_list = gdk_mir_window_impl_set_icon_list;
diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
index 6bdc1fa..c5f5367 100644
--- a/gdk/quartz/gdkwindow-quartz.c
+++ b/gdk/quartz/gdkwindow-quartz.c
@@ -1967,13 +1967,6 @@ gdk_window_quartz_input_shape_combine_region (GdkWindow       *window,
 }
 
 static void
-gdk_quartz_window_set_override_redirect (GdkWindow *window,
-                                         gboolean override_redirect)
-{
-  /* FIXME: Implement */
-}
-
-static void
 gdk_quartz_window_set_accept_focus (GdkWindow *window,
                                     gboolean accept_focus)
 {
@@ -2893,7 +2886,6 @@ gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass)
   impl_class->set_startup_id = gdk_quartz_window_set_startup_id;
   impl_class->set_transient_for = gdk_quartz_window_set_transient_for;
   impl_class->get_frame_extents = gdk_quartz_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_quartz_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_quartz_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_quartz_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_quartz_window_set_icon_list;
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index c6c52a7..08af04c 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -3103,12 +3103,6 @@ gdk_wayland_window_get_frame_extents (GdkWindow    *window,
 }
 
 static void
-gdk_wayland_window_set_override_redirect (GdkWindow *window,
-                                          gboolean   override_redirect)
-{
-}
-
-static void
 gdk_wayland_window_set_accept_focus (GdkWindow *window,
                                      gboolean   accept_focus)
 {
@@ -3627,7 +3621,6 @@ _gdk_window_impl_wayland_class_init (GdkWindowImplWaylandClass *klass)
   impl_class->set_startup_id = gdk_wayland_window_set_startup_id;
   impl_class->set_transient_for = gdk_wayland_window_set_transient_for;
   impl_class->get_frame_extents = gdk_wayland_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_wayland_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_wayland_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_wayland_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_wayland_window_set_icon_list;
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 9069b4c..bfd9c21 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -702,7 +702,6 @@ _gdk_win32_display_create_window_impl (GdkDisplay    *display,
   GdkWin32Display *display_win32;
   const gchar *title;
   wchar_t *wtitle;
-  gboolean override_redirect;
   gint window_width, window_height;
   gint offset_x = 0, offset_y = 0;
   gint x, y, real_x = 0, real_y = 0;
@@ -732,16 +731,10 @@ _gdk_win32_display_create_window_impl (GdkDisplay    *display,
       g_assert (attributes->y == window->y);
       remaining_mask &= ~GDK_WA_Y;
     }
-  override_redirect = FALSE;
-  if ((attributes_mask & GDK_WA_NOREDIR) != 0)
-    {
-      override_redirect = !!attributes->override_redirect;
-      remaining_mask &= ~GDK_WA_NOREDIR;
-    }
 
-  if ((remaining_mask & ~(GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0)
+  if ((remaining_mask & ~(GDK_WA_NOREDIR|GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0)
     g_warning ("_gdk_window_impl_new: uexpected attribute 0x%X",
-               remaining_mask & ~(GDK_WA_TITLE|GDK_WA_TYPE_HINT));
+               remaining_mask & ~(GDK_WA_NOREDIR|GDK_WA_TITLE|GDK_WA_TYPE_HINT));
 
   hparent = GDK_WINDOW_HWND (real_parent);
 
@@ -749,7 +742,6 @@ _gdk_win32_display_create_window_impl (GdkDisplay    *display,
   impl->wrapper = GDK_WINDOW (window);
   window->impl = GDK_WINDOW_IMPL (impl);
 
-  impl->override_redirect = override_redirect;
   impl->layered = FALSE;
   impl->layered_opacity = 1.0;
 
@@ -1261,8 +1253,7 @@ show_window_internal (GdkWindow *window,
   window_impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
   if (!already_mapped &&
       GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL &&
-      (window_impl->hint_flags & (GDK_HINT_POS | GDK_HINT_USER_POS)) == 0 &&
-      !window_impl->override_redirect)
+      (window_impl->hint_flags & (GDK_HINT_POS | GDK_HINT_USER_POS)) == 0)
     {
       gboolean center = FALSE;
       RECT window_rect, center_on_rect;
@@ -1322,8 +1313,7 @@ show_window_internal (GdkWindow *window,
     }
 
   if (!already_mapped &&
-      GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL &&
-      !window_impl->override_redirect)
+      GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL)
     {
       /* Ensure new windows are fully onscreen */
       RECT window_rect;
@@ -2467,19 +2457,6 @@ do_shape_combine_region (GdkWindow *window,
 }
 
 static void
-gdk_win32_window_set_override_redirect (GdkWindow *window,
-                                 gboolean   override_redirect)
-{
-  GdkWindowImplWin32 *window_impl;
-
-  g_return_if_fail (GDK_IS_WINDOW (window));
-
-  window_impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
-
-  window_impl->override_redirect = !!override_redirect;
-}
-
-static void
 gdk_win32_window_set_accept_focus (GdkWindow *window,
                             gboolean accept_focus)
 {
@@ -6128,7 +6105,6 @@ gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass)
   //impl_class->set_startup_id = gdk_x11_window_set_startup_id;
   impl_class->set_transient_for = gdk_win32_window_set_transient_for;
   impl_class->get_frame_extents = gdk_win32_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_win32_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_win32_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_win32_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_win32_window_set_icon_list;
diff --git a/gdk/win32/gdkwindow-win32.h b/gdk/win32/gdkwindow-win32.h
index de18c45..6e5f3d8 100644
--- a/gdk/win32/gdkwindow-win32.h
+++ b/gdk/win32/gdkwindow-win32.h
@@ -273,7 +273,6 @@ struct _GdkWindowImplWin32
   guint zero_margins : 1;
   guint no_bg : 1;
   guint inhibit_configure : 1;
-  guint override_redirect : 1;
 
   /* Set to TRUE if window is using true layered mode adjustments
    * via UpdateLayeredWindow().
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 19f8bcf..981405d 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -3148,28 +3148,6 @@ gdk_window_x11_input_shape_combine_region (GdkWindow       *window,
 #endif
 }
 
-
-static void
-gdk_x11_window_set_override_redirect (GdkWindow *window,
-                                 gboolean override_redirect)
-{
-  XSetWindowAttributes attr;
-  
-  if (!GDK_WINDOW_DESTROYED (window) &&
-      WINDOW_IS_TOPLEVEL_OR_FOREIGN (window))
-    {
-      GdkWindowImplX11 *impl = GDK_WINDOW_IMPL_X11 (window->impl);
-
-      attr.override_redirect = (override_redirect? True : False);
-      XChangeWindowAttributes (GDK_WINDOW_XDISPLAY (window),
-                              GDK_WINDOW_XID (window),
-                              CWOverrideRedirect,
-                              &attr);
-
-      impl->override_redirect = attr.override_redirect;
-    }
-}
-
 static void
 gdk_x11_window_set_accept_focus (GdkWindow *window,
                                 gboolean accept_focus)
@@ -5419,7 +5397,6 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
   impl_class->set_startup_id = gdk_x11_window_set_startup_id;
   impl_class->set_transient_for = gdk_x11_window_set_transient_for;
   impl_class->get_frame_extents = gdk_x11_window_get_frame_extents;
-  impl_class->set_override_redirect = gdk_x11_window_set_override_redirect;
   impl_class->set_accept_focus = gdk_x11_window_set_accept_focus;
   impl_class->set_focus_on_map = gdk_x11_window_set_focus_on_map;
   impl_class->set_icon_list = gdk_x11_window_set_icon_list;


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