]> git.eshelyaron.com Git - emacs.git/commitdiff
Always use gtk_window_move in new versions
authorPhilipp Stephani <phst@google.com>
Sun, 27 Aug 2017 10:38:46 +0000 (12:38 +0200)
committerPhilipp Stephani <phst@google.com>
Sun, 27 Aug 2017 12:45:58 +0000 (14:45 +0200)
* src/gtkutil.c (my_log_handler): Don’t define in new versions of
GTK+.
(xg_set_geometry): Always use gtk_window_move in new versions of GTK+.

* src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
is ignored.

* lisp/subr.el (x-gtk-use-window-move): Make obsolete.

etc/NEWS
lisp/subr.el
src/gtkutil.c
src/xterm.c

index d53e0d25f7834ca704a1f493bac260b5ef6f832e..6cd4bcac795df9b70a78ab54368a62fb576b852a 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1261,6 +1261,10 @@ break.
 ** The arguments LOCKNAME and MUSTBENEW of 'write-region' are
 propagated to file name handlers now.
 
+** When built against recent versions of GTK+, Emacs always uses
+gtk_window_move for moving frames and ignores the value of the
+variable 'x-gtk-use-window-move'.  The variable is now obsolete.
+
 \f
 * Lisp Changes in Emacs 26.1
 
index b3f9f902349924d7539a6fdbec27bf4e20ade61e..2ad52f6a6381a4fb18385a9b2bb4344c5afe1cf9 100644 (file)
@@ -1478,6 +1478,8 @@ be a list of the form returned by `event-start' and `event-end'."
 ;; but Stefan insists to mark it so.
 (make-obsolete-variable 'translation-table-for-input nil "23.1")
 
+(make-obsolete-variable 'x-gtk-use-window-move nil "26.1")
+
 (defvaralias 'messages-buffer-max-lines 'message-log-max)
 \f
 ;;;; Alternate names for functions - these are not being phased out.
index 7a110daef1e18914476200bd1f7edfc463eb1789..a2e9f26675826f93cd7b27f54cd902d85de79ea4 100644 (file)
@@ -792,6 +792,7 @@ xg_hide_tooltip (struct frame *f)
     General functions for creating widgets, resizing, events, e.t.c.
  ***********************************************************************/
 
+#if ! GTK_CHECK_VERSION (3, 22, 0)
 static void
 my_log_handler (const gchar *log_domain, GLogLevelFlags log_level,
                const gchar *msg, gpointer user_data)
@@ -799,6 +800,7 @@ my_log_handler (const gchar *log_domain, GLogLevelFlags log_level,
   if (!strstr (msg, "visible children"))
     fprintf (stderr, "XX %s-WARNING **: %s\n", log_domain, msg);
 }
+#endif
 
 /* Make a geometry string and pass that to GTK.  It seems this is the
    only way to get geometry position right if the user explicitly
@@ -810,8 +812,10 @@ xg_set_geometry (struct frame *f)
 {
   if (f->size_hint_flags & (USPosition | PPosition))
     {
+#if ! GTK_CHECK_VERSION (3, 22, 0)
       if (x_gtk_use_window_move)
        {
+#endif
          /* Handle negative positions without consulting
             gtk_window_parse_geometry (Bug#25851).  The position will
             be off by scrollbar width + window manager decorations.  */
@@ -828,6 +832,7 @@ xg_set_geometry (struct frame *f)
 
          /* Reset size hint flags.  */
          f->size_hint_flags &= ~ (XNegative | YNegative);
+# if ! GTK_CHECK_VERSION (3, 22, 0)
        }
       else
        {
@@ -859,6 +864,7 @@ xg_set_geometry (struct frame *f)
 
          g_log_remove_handler ("Gtk", id);
        }
+#endif
     }
 }
 
index d9a6df75d97f8eff85cb4a03420d1c7faf481af2..eff1519bf48a9ef3dd7d9b130eb8b74845bd38de 100644 (file)
@@ -13311,6 +13311,7 @@ transition between the various maximization states.  */);
     doc: /* Non-nil means rely on gtk_window_move to set frame positions.
 If this variable is t (the default), the GTK build uses the function
 gtk_window_move to set or store frame positions and disables some time
-consuming frame position adjustments.  */);
+consuming frame position adjustments.  In newer versions of GTK, Emacs
+always uses gtk_window_move and ignores the value of this variable.  */);
   x_gtk_use_window_move = true;
 }