diff --git a/group.c b/group.c index 1d9e739..6721266 100644 --- a/group.c +++ b/group.c @@ -1612,25 +1612,6 @@ void groupWindowUngrabNotify(CompWindow * w) WRAP(gs, w->screen, windowUngrabNotify, groupWindowUngrabNotify); } -void groupWindowAddNotify(CompWindow * w) -{ - GROUP_SCREEN(w->screen); - GROUP_WINDOW(w); - - if (groupGetAutotabCreate(w->screen) && - matchEval(groupGetWindowMatch(w->screen), w)) - { - if (!gw->group && (gw->windowState == WindowNormal)) { - groupAddWindowToGroup(w, NULL, 0); - groupTabGroup(w); - } - } - - UNWRAP (gs, w->screen, windowAddNotify); - (*w->screen->windowAddNotify) (w); - WRAP (gs, w->screen, windowAddNotify, groupWindowAddNotify); -} - Bool groupDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect) { @@ -1644,6 +1625,15 @@ Bool groupDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect) if (initial) { GROUP_WINDOW(w); + if (groupGetAutotabCreate(w->screen) && + matchEval(groupGetWindowMatch(w->screen), w)) + { + if (!gw->group && (gw->windowState == WindowNormal)) { + groupAddWindowToGroup(w, NULL, 0); + groupTabGroup(w); + } + } + if ((gw->windowState == WindowMinimized) && gw->group) { if (groupGetMinimizeAll(w->screen)) groupMinimizeWindows(w, gw->group, FALSE); diff --git a/group.h b/group.h index 54cdc35..278faa7 100644 --- a/group.h +++ b/group.h @@ -372,7 +372,6 @@ typedef struct _GroupScreen { DonePaintScreenProc donePaintScreen; WindowGrabNotifyProc windowGrabNotify; WindowUngrabNotifyProc windowUngrabNotify; - WindowAddNotifyProc windowAddNotify; DamageWindowRectProc damageWindowRect; WindowStateChangeNotifyProc windowStateChangeNotify; @@ -479,7 +478,6 @@ void groupWindowUngrabNotify(CompWindow * w); void groupWindowMoveNotify(CompWindow * w, int dx, int dy, Bool immediate); void groupWindowStateChangeNotify(CompWindow *w); void groupGetOutputExtentsForWindow(CompWindow * w, CompWindowExtents * output); -void groupWindowAddNotify(CompWindow * w); Bool groupDamageWindowRect(CompWindow * w, Bool initial, BoxPtr rect); /* diff --git a/init.c b/init.c index dfc8dff..1d3a79e 100644 --- a/init.c +++ b/init.c @@ -207,7 +207,6 @@ Bool groupInitScreen(CompPlugin * p, CompScreen * s) WRAP(gs, s, donePaintScreen, groupDonePaintScreen); WRAP(gs, s, windowGrabNotify, groupWindowGrabNotify); WRAP(gs, s, windowUngrabNotify, groupWindowUngrabNotify); - WRAP(gs, s, windowAddNotify, groupWindowAddNotify); WRAP(gs, s, damageWindowRect, groupDamageWindowRect); WRAP(gs, s, windowStateChangeNotify, groupWindowStateChangeNotify); @@ -317,7 +316,6 @@ void groupFiniScreen(CompPlugin * p, CompScreen * s) UNWRAP(gs, s, donePaintScreen); UNWRAP(gs, s, windowGrabNotify); UNWRAP(gs, s, windowUngrabNotify); - UNWRAP(gs, s, windowAddNotify); UNWRAP(gs, s, damageWindowRect); UNWRAP(gs, s, windowStateChangeNotify); diff --git a/queues.c b/queues.c diff --git a/tab.c b/tab.c index 9ca9bbc..9ff7643 100644 --- a/tab.c +++ b/tab.c @@ -1870,8 +1870,7 @@ void groupDestroyCairoLayer(CompScreen *s, GroupCairoLayer *layer) if (layer->surface) cairo_surface_destroy(layer->surface); - if (&layer->texture) - finiTexture(s, &layer->texture); + finiTexture(s, &layer->texture); if (layer->pixmap) XFreePixmap(s->display->display, layer->pixmap);