]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix disabling frame synchronization on child frames
authorPo Lu <luangruo@yahoo.com>
Fri, 13 May 2022 04:21:32 +0000 (12:21 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 13 May 2022 04:21:32 +0000 (12:21 +0800)
* src/xfns.c (Fx_create_frame): Disable GTK 3's own frame
synchronization on child frames, since the CM doesn't send
synchronization events to them.

src/xfns.c

index 6eddf3a494975fb4d963bd1d8673dd9234351334..7b5273e280a687bc5ee6bc07e86e2c208699f230 100644 (file)
@@ -4551,6 +4551,9 @@ This function is an internal primitive--use `make-frame' instead.  */)
   struct x_display_info *dpyinfo = NULL;
   Lisp_Object parent, parent_frame;
   struct kboard *kb;
+#ifdef HAVE_GTK3
+  GdkWindow *gwin;
+#endif
 
   parms = Fcopy_alist (parms);
 
@@ -4977,6 +4980,10 @@ This function is an internal primitive--use `make-frame' instead.  */)
       if (EQ (x_gtk_resize_child_frames, Qresize_mode))
        gtk_container_set_resize_mode
          (GTK_CONTAINER (FRAME_GTK_OUTER_WIDGET (f)), GTK_RESIZE_IMMEDIATE);
+#endif
+#ifdef HAVE_GTK3
+      gwin = gtk_widget_get_window (FRAME_GTK_OUTER_WIDGET (f));
+      gdk_x11_window_set_frame_sync_enabled (gwin, false);
 #endif
       unblock_input ();
     }