[fusion-commits] compiz mirror: Changes to 'master' (b8a28d6d945f6ff4d3e44ebdec6100bbbafb0a92)
compiz at server.beryl-project.org
compiz at server.beryl-project.org
Tue Aug 7 22:03:09 CEST 2007
New commits:
commit b8a28d6d945f6ff4d3e44ebdec6100bbbafb0a92
Author: David Reveman <davidr at novell.com>
Date: Tue Aug 7 15:53:25 2007 -0400
This should be taken care of by unhookWindowFromScreen.
commit ff4baae4998f53fe6f0b1a8b8ca29047267e13ce
Author: David Reveman <davidr at novell.com>
Date: Tue Aug 7 15:50:38 2007 -0400
Reduce code by using findWindowAtScreen in
findTopLevelWindowAtScreen.
commit 246951bee7c41fbd2510c88a388424259dbca1e4
Author: David Reveman <davidr at novell.com>
Date: Tue Aug 7 15:41:48 2007 -0400
Avoid using lastFoundWindow in findWindowAtDisplay.
commit b192aaf248edb45e0af91d6ef30a6e27312c0fab
Author: David Reveman <davidr at novell.com>
Date: Tue Aug 7 15:41:06 2007 -0400
Usage of lastFoundWindow in findTopLevelWindowAtDisplay is
broken. Preferred is to just have findTopLevelWindowAtDisplay
call findTopLevelWindowAtScreen for each screen until a
matching window is found.
src/display.c | 42 ++++++++++++++----------------------------
src/screen.c | 33 +++++++--------------------------
src/window.c | 6 ------
3 files changed, 21 insertions(+), 60 deletions(-)
Modified: compiz/src/display.c
===================================================================
--- compiz/src/display.c
+++ compiz/src/display.c
@@ -2666,21 +2666,14 @@ CompWindow *
findWindowAtDisplay (CompDisplay *d,
Window id)
{
- if (lastFoundWindow && lastFoundWindow->id == id)
- {
- return lastFoundWindow;
- }
- else
- {
- CompScreen *s;
- CompWindow *w;
+ CompScreen *s;
+ CompWindow *w;
- for (s = d->screens; s; s = s->next)
- {
- w = findWindowAtScreen (s, id);
- if (w)
- return w;
- }
+ for (s = d->screens; s; s = s->next)
+ {
+ w = findWindowAtScreen (s, id);
+ if (w)
+ return w;
}
return 0;
@@ -2690,21 +2683,14 @@ CompWindow *
findTopLevelWindowAtDisplay (CompDisplay *d,
Window id)
{
- if (lastFoundWindow && lastFoundWindow->id == id)
- {
- return lastFoundWindow;
- }
- else
- {
- CompScreen *s;
- CompWindow *w;
+ CompScreen *s;
+ CompWindow *w;
- for (s = d->screens; s; s = s->next)
- {
- w = findTopLevelWindowAtScreen (s, id);
- if (w)
- return w;
- }
+ for (s = d->screens; s; s = s->next)
+ {
+ w = findTopLevelWindowAtScreen (s, id);
+ if (w)
+ return w;
}
return 0;
Modified: compiz/src/screen.c
===================================================================
--- compiz/src/screen.c
+++ compiz/src/screen.c
@@ -2206,38 +2206,19 @@ findWindowAtScreen (CompScreen *s,
CompWindow *
findTopLevelWindowAtScreen (CompScreen *s,
- Window id)
+ Window id)
{
- CompWindow *found = NULL;
-
- if (lastFoundWindow && lastFoundWindow->id == id)
- {
- found = lastFoundWindow;
- }
- else
- {
- CompWindow *w;
-
- for (w = s->windows; w; w = w->next)
- {
- if (w->id == id)
- {
- found = (lastFoundWindow = w);
- break;
- }
- }
- }
+ CompWindow *w;
- if (!found)
+ w = findWindowAtScreen (s, id);
+ if (!w)
return NULL;
- if (found->attrib.override_redirect)
+ if (w->attrib.override_redirect)
{
/* likely a frame window */
- if (found->attrib.class == InputOnly)
+ if (w->attrib.class == InputOnly)
{
- CompWindow *w;
-
for (w = s->windows; w; w = w->next)
if (w->frame == id)
return w;
@@ -2246,7 +2227,7 @@ findTopLevelWindowAtScreen (CompScreen *s,
return NULL;
}
- return found;
+ return w;
}
void
Modified: compiz/src/window.c
===================================================================
--- compiz/src/window.c
+++ compiz/src/window.c
@@ -1325,12 +1325,6 @@ freeWindow (CompWindow *w)
if (w->indices)
free (w->indices);
- if (lastFoundWindow == w)
- lastFoundWindow = 0;
-
- if (lastDamagedWindow == w)
- lastDamagedWindow = 0;
-
if (w->struts)
free (w->struts);
More information about the commits
mailing list