From 44f55d1fbe059c5c11177162635e911e4207b7d7 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <fourdan.olivier@wanadoo.fr>
Date: Mon, 13 Dec 2004 21:27:18 +0000
Subject: [PATCH] Update version, improve the window creation management in the
 compositor.

(Old svn revision: 12206)
---
 configure        |  2 +-
 configure.ac     |  2 +-
 ltmain.sh        |  3 +++
 po/xfwm4.pot     |  2 +-
 src/compositor.c | 13 ++++++++++---
 src/compositor.h |  2 +-
 6 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/configure b/configure
index 2ae8d8970..6e7dd79cc 100755
--- a/configure
+++ b/configure
@@ -1833,7 +1833,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=xfwm4
- VERSION=4.1.99.2
+ VERSION=4.1.99.3
 
 
 cat >>confdefs.h <<_ACEOF
diff --git a/configure.ac b/configure.ac
index 709af8403..1730824be 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,7 +7,7 @@ AC_INIT([src/main.c])
 
 AC_PREREQ(2.52)
 
-AM_INIT_AUTOMAKE([xfwm4], [4.1.99.2])
+AM_INIT_AUTOMAKE([xfwm4], [4.1.99.3])
 
 AM_CONFIG_HEADER([config.h])
 
diff --git a/ltmain.sh b/ltmain.sh
index c13e957f7..23f82e3b7 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -33,6 +33,9 @@ basename="s,^.*/,,g"
 # function.
 progpath="$0"
 
+# RH: define SED for historic ltconfig's generated by Libtool 1.3
+[ -z "$SED" ] && SED=sed
+
 # The name of this program:
 progname=`echo "$progpath" | $SED $basename`
 modename="$progname"
diff --git a/po/xfwm4.pot b/po/xfwm4.pot
index 64995df17..347d9183a 100644
--- a/po/xfwm4.pot
+++ b/po/xfwm4.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-12-11 18:35+0100\n"
+"POT-Creation-Date: 2004-12-12 16:55+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/src/compositor.c b/src/compositor.c
index 300768713..35b061a05 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1852,10 +1852,10 @@ compositorHandleCreateNotify (DisplayInfo *display_info, XCreateWindowEvent *ev)
     }
     
     /* 
-       We are only interested on override redirect windows, other will
+       We are only interested in top level windows, other will
        be caught by the WM.
      */
-    if (ev->override_redirect)
+    if (myDisplayGetScreenFromRoot(display_info, ev->parent) != NULL)
     {
         compositorAddWindow (display_info, ev->window, NULL);
     }
@@ -1957,7 +1957,14 @@ compositorAddWindow (DisplayInfo *display_info, Window id, Client *c)
     cw = find_cwindow_in_display (display_info, id);
     if (cw)
     {
-        cw->c = c;
+        /* 
+           The compositor window is already know, just update the client if
+           that is meaningfull
+         */
+        if (c)
+        {
+            cw->c = c;
+        }
     }
     else
     {
diff --git a/src/compositor.h b/src/compositor.h
index 0f7074af6..56c09949d 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -34,7 +34,7 @@
 
 void     compositorMapWindow        (DisplayInfo *, Window);
 void     compositorUnmapWindow      (DisplayInfo *, Window);
-void     compositorAddWindow        (DisplayInfo *, Window, Client *c);
+void     compositorAddWindow        (DisplayInfo *, Window, Client *);
 void     compositorRemoveWindow     (DisplayInfo *, Window);
 
 void     compositorHandleEvent      (DisplayInfo *, XEvent *);
-- 
GitLab