Mercurial > emacs
diff src/xterm.c @ 52298:1a4bd2bec861
Create and initialize a client leader window so session management
doesn't restart Emacs twice.
| author | Jan Dj?rv <jan.h.d@swipnet.se> |
|---|---|
| date | Thu, 21 Aug 2003 19:54:47 +0000 |
| parents | 280be897db0d |
| children | 2415f47f227a |
line wrap: on
line diff
--- a/src/xterm.c Thu Aug 21 17:24:58 2003 +0000 +++ b/src/xterm.c Thu Aug 21 19:54:47 2003 +0000 @@ -10136,7 +10136,7 @@ if (!x_initialized) { x_initialize (); - x_initialized = 1; + ++x_initialized; } #ifdef USE_GTK @@ -10152,8 +10152,6 @@ if (x_initialized > 1) return 0; - x_initialized++; - for (argc = 0; argc < NUM_ARGV; ++argc) argv[argc] = 0; @@ -10343,6 +10341,7 @@ dpyinfo->height = HeightOfScreen (dpyinfo->screen); dpyinfo->width = WidthOfScreen (dpyinfo->screen); dpyinfo->root_window = RootWindowOfScreen (dpyinfo->screen); + dpyinfo->client_leader_window = 0; dpyinfo->grabbed = 0; dpyinfo->reference_count = 0; dpyinfo->icon_bitmap_id = -1; @@ -10412,6 +10411,8 @@ = XInternAtom (dpyinfo->display, "WM_CONFIGURE_DENIED", False); dpyinfo->Xatom_wm_window_moved = XInternAtom (dpyinfo->display, "WM_MOVED", False); + dpyinfo->Xatom_wm_client_leader + = XInternAtom (dpyinfo->display, "WM_CLIENT_LEADER", False); dpyinfo->Xatom_editres = XInternAtom (dpyinfo->display, "Editres", False); dpyinfo->Xatom_CLIPBOARD @@ -10566,6 +10567,12 @@ #endif } +#ifdef HAVE_X_SM + /* Only do this for the first display. */ + if (x_initialized == 1) + x_session_initialize (dpyinfo); +#endif + UNBLOCK_INPUT; return dpyinfo; @@ -10779,10 +10786,6 @@ #endif /* SIGWINCH */ signal (SIGPIPE, x_connection_signal); - -#ifdef HAVE_X_SM - x_session_initialize (); -#endif }
