Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h extinitwin.c main.c session.c setup.c 


Log Message:
Kill init win when restarting.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.412
retrieving revision 1.413
diff -u -3 -r1.412 -r1.413
--- E.h 23 Apr 2005 08:28:01 -0000      1.412
+++ E.h 23 Apr 2005 13:35:37 -0000      1.413
@@ -1707,7 +1707,9 @@
 
 /* extinitwin.c */
 Window              ExtInitWinCreate(void);
-void                ExtInitWinCheck(void);
+void                ExtInitWinSet(Window win);
+Window              ExtInitWinGet(void);
+void                ExtInitWinKill(void);
 
 /* file.c */
 void                Etmp(char *s);
@@ -2339,7 +2341,6 @@
 extern VirtRoot     VRoot;
 extern EConf        Conf;
 extern EMode        Mode;
-extern Window       init_win_ext;
 
 #define FILEPATH_LEN_MAX 4096
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/extinitwin.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- extinitwin.c        19 Mar 2005 16:40:02 -0000      1.7
+++ extinitwin.c        23 Apr 2005 13:35:37 -0000      1.8
@@ -218,3 +218,29 @@
    /* We will never get here */
    return None;
 }
+
+static Window       init_win_ext = None;
+
+void
+ExtInitWinSet(Window win)
+{
+   init_win_ext = win;
+}
+
+Window
+ExtInitWinGet(void)
+{
+   return init_win_ext;
+}
+
+void
+ExtInitWinKill(void)
+{
+   if (!disp || init_win_ext == None)
+      return;
+
+   if (EventDebug(EDBUG_TYPE_SESSION))
+      Eprintf("Kill init window %#lx\n", init_win_ext);
+   XKillClient(disp, init_win_ext);
+   init_win_ext = None;
+}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/main.c,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -3 -r1.124 -r1.125
--- main.c      20 Apr 2005 22:49:15 -0000      1.124
+++ main.c      23 Apr 2005 13:35:37 -0000      1.125
@@ -42,10 +42,6 @@
 EConf               Conf;
 EMode               Mode;
 
-#ifdef USE_EXT_INIT_WIN
-Window              init_win_ext = None;
-#endif
-
 static int          EoptGet(int argc, char **argv);
 static void         EoptHelp(void);
 static void         ECheckEprog(const char *name);
@@ -207,7 +203,7 @@
             break;
 #ifdef USE_EXT_INIT_WIN
          case 'X':
-            init_win_ext = strtoul(eoptarg, NULL, 0);
+            ExtInitWinSet(strtoul(eoptarg, NULL, 0));
             Mode.wm.restart = 1;
             break;
 #endif
@@ -267,13 +263,7 @@
 
 #ifdef USE_EXT_INIT_WIN
    /* Kill the E process owning the "init window" */
-   if (init_win_ext)
-     {
-       if (EventDebug(EDBUG_TYPE_SESSION))
-          Eprintf("Kill init window %#lx\n", init_win_ext);
-       XKillClient(disp, init_win_ext);
-       init_win_ext = 0;
-     }
+   ExtInitWinKill();
 #endif
 
    /* sync just to make sure */
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/session.c,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -3 -r1.96 -r1.97
--- session.c   7 Apr 2005 16:38:56 -0000       1.96
+++ session.c   23 Apr 2005 13:35:37 -0000      1.97
@@ -838,10 +838,7 @@
    if (disp)
      {
        XSelectInput(disp, VRoot.win, 0);
-#if 0                          /* FIXME */
-       if (Mode.wm.master && init_win_ext)
-          XKillClient(disp, init_win_ext);
-#endif
+       ExtInitWinKill();
        XSync(disp, False);
      }
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/setup.c,v
retrieving revision 1.158
retrieving revision 1.159
diff -u -3 -r1.158 -r1.159
--- setup.c     17 Apr 2005 13:58:08 -0000      1.158
+++ setup.c     23 Apr 2005 13:35:37 -0000      1.159
@@ -35,11 +35,14 @@
 
    static Window      *wlist = NULL;
    static unsigned int num = 0;
-   Window              par;
-   Window              rt;
+   Window              par, rt;
    XWindowAttributes   attr;
    unsigned int        i;
 
+#ifdef USE_EXT_INIT_WIN
+   Window              init_win = ExtInitWinGet();
+#endif
+
    switch (start)
      {
      case 0:
@@ -48,15 +51,15 @@
        for (i = 0; i < num; i++)
          {
 #ifdef USE_EXT_INIT_WIN
-            if ((init_win_ext) && (init_win_ext == wlist[i]))
+            if (init_win == wlist[i])
               {
-                 wlist[i] = 0;
+                 wlist[i] = None;
                  continue;
               }
 #endif
             XGetWindowAttributes(disp, wlist[i], &attr);
             if (attr.map_state == IsUnmapped)
-               wlist[i] = 0;
+               wlist[i] = None;
             else
                XUnmapWindow(disp, wlist[i]);
          }
@@ -80,8 +83,8 @@
             if (attr.override_redirect)
               {
 #ifdef USE_EXT_INIT_WIN
-                 if (init_win_ext)
-                    XRaiseWindow(disp, init_win_ext);
+                 if (init_win)
+                    XRaiseWindow(disp, init_win);
 #endif
                  XMapWindow(disp, wlist[i]);
               }
@@ -173,7 +176,7 @@
                  Mode.wm.master = 0;
                  Mode.wm.pid = getpid();
                  VRoot.scr = i;
-                 init_win_ext = None;
+                 ExtInitWinSet(None);
 #ifdef SIGSTOP
                  kill(getpid(), SIGSTOP);
 #endif




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to