]> git.eshelyaron.com Git - emacs.git/commitdiff
Added calls to x_session_check_input () and x_session_initialize ().
authorJan Djärv <jan.h.d@swipnet.se>
Sun, 10 Mar 2002 16:15:20 +0000 (16:15 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Sun, 10 Mar 2002 16:15:20 +0000 (16:15 +0000)
src/xterm.c

index 58a60b59145cebb789f0136dbf47017916b7d613..41331326ad7c3139a531b99349eb489a7c450e47 100644 (file)
@@ -10032,6 +10032,12 @@ XTread_socket (sd, bufp, numchars, expected)
          x_io_error_quitter (dpyinfo->display);
        }
 
+#ifdef HAVE_X_SM
+      BLOCK_INPUT;
+      count += x_session_check_input (bufp, &numchars);
+      UNBLOCK_INPUT;
+#endif
+
       while (XPending (dpyinfo->display))
        {
          XNextEvent (dpyinfo->display, &event);
@@ -10114,11 +10120,17 @@ XTread_socket (sd, bufp, numchars, expected)
                           the session manager, who's looking for such a
                           PropertyNotify.  Can restart processing when
                           a keyboard or mouse event arrives.  */
-                       if (numchars > 0)
+                        /* If we have a session manager, don't set this.
+                           KDE will then start two Emacsen, one for the
+                           session manager and one for this. */
+                       if (numchars > 0
+#ifdef HAVE_X_SM
+                            && ! x_session_have_connection ()
+#endif
+                            )
                          {
                            f = x_top_window_to_frame (dpyinfo,
                                                       event.xclient.window);
-
                            /* This is just so we only give real data once
                               for a single Emacs process.  */
                            if (f == SELECTED_FRAME ())
@@ -15056,6 +15068,10 @@ x_initialize ()
 #endif /* ! defined (SIGWINCH) */
 
   signal (SIGPIPE, x_connection_signal);
+
+#ifdef HAVE_X_SM
+  x_session_initialize ();
+#endif
 }