diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/debian/changelog /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/debian/changelog --- compiz-fusion-plugins-main-0.8.3+git20090904/debian/changelog 2009-09-11 12:48:09.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/debian/changelog 2009-09-11 12:48:09.000000000 +0100 @@ -1,3 +1,9 @@ +compiz-fusion-plugins-main (0.8.3+git20090911-0ubuntu1) karmic; urgency=low + + * Pre-Release of the upcomming 0.8.4 bugfix release + + -- Michael Vogt Fri, 11 Sep 2009 13:14:55 +0200 + compiz-fusion-plugins-main (0.8.3+git20090904-0ubuntu1~ppa2) karmic; urgency=low * debian/patches/08_disable_desktop_vpswitch.patch: Disable switching diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/animation/animation.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/animation/animation.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/animation/animation.c 2009-08-25 12:22:14.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/animation/animation.c 2009-09-11 12:13:08.000000000 +0100 @@ -4133,7 +4133,7 @@ } } } - else if (!w->invisible) + else if (!w->invisible && as->startCountdown == 0) { AnimEffect chosenEffect; int duration = 200; @@ -4391,9 +4391,10 @@ { as->aWinWasRestackedJustNow = FALSE; } - if (as->markAllWinCreatedCountdown > 0) + if (as->startCountdown > 0) { - if (as->markAllWinCreatedCountdown == 1) + as->startCountdown--; + if (as->startCountdown == 0) { // Mark all windows as "created" for (w = s->windows; w; w = w->next) @@ -4402,7 +4403,6 @@ aw->created = TRUE; } } - as->markAllWinCreatedCountdown--; } return status; @@ -4793,7 +4793,7 @@ WRAP(as, s, windowUngrabNotify, animWindowUngrabNotify); WRAP(as, s, initWindowWalker, animInitWindowWalker); - as->markAllWinCreatedCountdown = 5; // start countdown + as->startCountdown = 20; // start the countdown return TRUE; } @@ -4936,7 +4936,7 @@ *count = 0; RETURN_DISPATCH (object, dispTab, ARRAY_SIZE (dispTab), - (void *) count, (plugin, object, count)); + NULL, (plugin, object, count)); } static CompBool diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/animation/animation-internal.h /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/animation/animation-internal.h --- compiz-fusion-plugins-main-0.8.3+git20090904/src/animation/animation-internal.h 2009-08-25 12:22:14.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/animation/animation-internal.h 2009-09-11 12:13:08.000000000 +0100 @@ -203,9 +203,10 @@ Window *lastClientListStacking; // to store last known stacking order int nLastClientListStacking; - int markAllWinCreatedCountdown; + int startCountdown; // to mark windows as "created" if they were opened before compiz - // was started + // was started and to prevent open animation happening for existing windows + // at compiz startup Bool animInProgress; diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/mousepoll/mousepoll.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/mousepoll/mousepoll.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/mousepoll/mousepoll.c 2009-08-25 12:22:14.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/mousepoll/mousepoll.c 2009-09-11 12:13:08.000000000 +0100 @@ -445,7 +445,7 @@ *count = 0; RETURN_DISPATCH (object, dispTab, ARRAY_SIZE (dispTab), - (void *) count, (plugin, object, count)); + NULL, (plugin, object, count)); } static CompBool diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/ring/ring.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/ring/ring.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/ring/ring.c 2009-09-04 09:08:03.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/ring/ring.c 2009-09-11 12:13:08.000000000 +0100 @@ -122,6 +122,7 @@ #define PI 3.1415926 #define DIST_ROT (3600 / rs->nWindows) #define ICON_SIZE 64 +#define MAX_ICON_SIZE 256 #define GET_RING_DISPLAY(d) \ ((RingDisplay *) (d)->base.privates[displayPrivateIndex].ptr) @@ -269,13 +270,13 @@ getCurrentOutputExtents (s, &ox1, &oy1, &ox2, &oy2); - x = ox1 + ((ox2 - ox1) / 2) - (rs->textData->width / 2); + x = ox1 + ((ox2 - ox1) / 2) - ((int)rs->textData->width / 2); /* assign y (for the lower corner!) according to the setting */ switch (ringGetTitleTextPlacement (s)) { case TitleTextPlacementCenteredOnScreen: - y = oy1 + ((oy2 - oy1) / 2) + (rs->textData->height / 2); + y = oy1 + ((oy2 - oy1) / 2) + ((int)rs->textData->height / 2); break; case TitleTextPlacementAboveRing: case TitleTextPlacementBelowRing: @@ -285,7 +286,7 @@ if (ringGetTitleTextPlacement (s) == TitleTextPlacementAboveRing) - y = oy1 + workArea.y + rs->textData->height; + y = oy1 + workArea.y + (int)rs->textData->height; else y = oy1 + workArea.y + workArea.height; } @@ -386,7 +387,7 @@ { CompIcon *icon; - icon = getWindowIcon (w, 256, 256); + icon = getWindowIcon (w, MAX_ICON_SIZE, MAX_ICON_SIZE); if (!icon) icon = w->screen->defaultIcon; @@ -412,18 +413,28 @@ case OverlayIconNone: case OverlayIconEmblem: scale = (rw->slot) ? rw->slot->depthScale : 1.0f; - if (icon->width > ICON_SIZE || icon->height > ICON_SIZE) - scale = MIN ((scale * ICON_SIZE / icon->width), - (scale * ICON_SIZE / icon->height)); + scale = MIN ((scale * ICON_SIZE / icon->width), + (scale * ICON_SIZE / icon->height)); break; case OverlayIconBig: default: - /* only change opacity if not painting an - icon for a minimized window */ if (w->texture->pixmap) + { + /* only change opacity if not painting an + icon for a minimized window */ sAttrib.opacity /= 3; - scale = MIN (((float) scaledWinWidth / icon->width), - ((float) scaledWinHeight / icon->height)); + scale = MIN (((float) scaledWinWidth / icon->width), + ((float) scaledWinHeight / icon->height)); + } + else + { + scale = + 0.8f * ((rw->slot) ? rw->slot->depthScale : 1.0f); + scale = MIN ((scale * ringGetThumbWidth (s) / + icon->width), + (scale * ringGetThumbHeight (s) / + icon->height)); + } break; } @@ -446,12 +457,8 @@ x += rw->tx; y += rw->ty; - mask |= PAINT_WINDOW_BLEND_MASK; - - /* if we paint the icon for a minimized window, we need - to force the usage of a good texture filter */ - if (!w->texture->pixmap) - mask |= PAINT_WINDOW_TRANSFORMED_MASK; + mask |= + PAINT_WINDOW_BLEND_MASK | PAINT_WINDOW_TRANSFORMED_MASK; iconReg.rects = &iconReg.extents; iconReg.numRects = 1; @@ -521,6 +528,23 @@ return (minY + (factor * (valX - minX))); } +static void +switchActivateEvent (CompScreen *s, + Bool activating) +{ + CompOption o[2]; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeBool; + o[1].name = "active"; + o[1].value.b = activating; + + (*s->display->handleCompizEvent) (s->display, "switcher", "activate", o, 2); +} + static int compareWindows (const void *elem1, const void *elem2) @@ -1015,6 +1039,9 @@ else if (rs->state == RingStateOut) rs->state = RingStateSwitching; } + + if (rs->state == RingStateNone) + switchActivateEvent (s, FALSE); } UNWRAP (rs, s, donePaintScreen); @@ -1139,6 +1166,8 @@ rs->moreAdjust = TRUE; damageScreen (s); + + switchActivateEvent (s, TRUE); } return TRUE; diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/session/session.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/session/session.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/session/session.c 2009-08-25 12:22:14.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/session/session.c 2009-09-11 12:13:08.000000000 +0100 @@ -933,7 +933,7 @@ *count = 0; RETURN_DISPATCH (object, dispTab, ARRAY_SIZE (dispTab), - (void *) count, (plugin, object, count)); + NULL, (plugin, object, count)); } static CompBool diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/shift/shift.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/shift/shift.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/shift/shift.c 2009-09-04 09:08:03.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/shift/shift.c 2009-09-11 12:13:08.000000000 +0100 @@ -157,6 +157,9 @@ Bool paintingAbove; Bool canceled; + + int maxThumbWidth; + int maxThumbHeight; } ShiftScreen; typedef struct _ShiftWindow { @@ -171,6 +174,8 @@ } ShiftWindow; #define PI 3.1415926 +#define ICON_SIZE 64 +#define MAX_ICON_SIZE 256 #define GET_SHIFT_DISPLAY(d) \ ((ShiftDisplay *) (d)->base.privates[displayPrivateIndex].ptr) @@ -355,7 +360,7 @@ oy2 = s->outputDev[ss->usedOutput].region.extents.y2; } - float x = ox1 + ((ox2 - ox1) / 2) - (ss->textData->width / 2); + float x = ox1 + ((ox2 - ox1) / 2) - ((int)ss->textData->width / 2); float y; /* assign y (for the lower corner!) according to the setting */ @@ -503,7 +508,7 @@ { CompIcon *icon; - icon = getWindowIcon (w, 96, 96); + icon = getWindowIcon (w, MAX_ICON_SIZE, MAX_ICON_SIZE); if (!icon) icon = w->screen->defaultIcon; @@ -540,16 +545,25 @@ { case OverlayIconNone: case OverlayIconEmblem: - scale = 1.0f; + scale = MIN (((float) ICON_SIZE / icon->width), + ((float) ICON_SIZE / icon->height)); break; case OverlayIconBig: default: - /* only change opacity if not painting an - icon for a minimized window */ if (w->texture->pixmap) + { + /* only change opacity if not painting an + icon for a minimized window */ sAttrib.opacity /= 3; - scale = MIN (((float) scaledWinWidth / icon->width), - ((float) scaledWinHeight / icon->height)); + scale = MIN (((float) scaledWinWidth / icon->width), + ((float) scaledWinHeight / icon->height)); + } + else + { + scale = + 0.8f * MIN (((float) ss->maxThumbWidth / icon->width), + ((float) ss->maxThumbHeight / icon->height)); + } break; } @@ -566,16 +580,14 @@ case OverlayIconBig: default: x = scaledWinWidth / 2 - width / 2; - y = scaledWinHeight / 2 - height / 2; + if (w->texture->pixmap) + y = scaledWinHeight / 2 - height / 2; + else + y = scaledWinHeight - height; break; } - mask |= PAINT_WINDOW_BLEND_MASK; - - /* if we paint the icon for a minimized window, we need - to force the usage of a good texture filter */ - if (!w->texture->pixmap) - mask |= PAINT_WINDOW_TRANSFORMED_MASK; + mask |= PAINT_WINDOW_BLEND_MASK | PAINT_WINDOW_TRANSFORMED_MASK; iconReg.rects = &iconReg.extents; iconReg.numRects = 1; @@ -597,7 +609,7 @@ if (!w->texture->pixmap) sAttrib.opacity = w->paint.opacity; - initFragmentAttrib (&fragment, attrib); + initFragmentAttrib (&fragment, &sAttrib); fragment.opacity = (float)fragment.opacity * sopacity; fragment.brightness = (float)fragment.brightness * @@ -656,6 +668,24 @@ return status; } +static void +switchActivateEvent (CompScreen *s, + Bool activating) +{ + return; + CompOption o[2]; + + o[0].type = CompOptionTypeInt; + o[0].name = "root"; + o[0].value.i = s->root; + + o[1].type = CompOptionTypeBool; + o[1].name = "active"; + o[1].value.b = activating; + + (*s->display->handleCompizEvent) (s->display, "switcher", "activate", o, 2); +} + static int compareWindows (const void *elem1, const void *elem2) @@ -737,8 +767,8 @@ int centerX = ox1 + (ox2 - ox1) / 2; int centerY = oy1 + (oy2 - oy1) / 2; - int maxThumbWidth = (ox2 - ox1) * shiftGetSize(s) / 100; - int maxThumbHeight = (oy2 - oy1) * shiftGetSize(s) / 100; + ss->maxThumbWidth = (ox2 - ox1) * shiftGetSize(s) / 100; + ss->maxThumbHeight = (oy2 - oy1) * shiftGetSize(s) / 100; for (index = 0; index < ss->nWindows; index++) { @@ -748,13 +778,13 @@ ww = w->attrib.width + w->input.left + w->input.right; wh = w->attrib.height + w->input.top + w->input.bottom; - if (ww > maxThumbWidth) - xScale = (float)(maxThumbWidth) / (float)ww; + if (ww > ss->maxThumbWidth) + xScale = (float)(ss->maxThumbWidth) / (float)ww; else xScale = 1.0f; - if (wh > maxThumbHeight) - yScale = (float)(maxThumbHeight) / (float)wh; + if (wh > ss->maxThumbHeight) + yScale = (float)(ss->maxThumbHeight) / (float)wh; else yScale = 1.0f; @@ -762,7 +792,7 @@ float val1 = floor((float)ss->nWindows / 2.0); float pos; - float space = maxThumbWidth / 2; + float space = ss->maxThumbWidth / 2; space *= cos (sin (PI / 4) * PI / 3); space *= 2; //space += (space / sin (PI / 4)) - space; @@ -791,7 +821,7 @@ MAX (0.0, fabs(distance) - val1)); sw->slots[i].scale = MIN (xScale, yScale); - sw->slots[i].y = centerY + (maxThumbHeight / 2.0) - + sw->slots[i].y = centerY + (ss->maxThumbHeight / 2.0) - (((w->attrib.height / 2.0) + w->input.bottom) * sw->slots[i].scale); @@ -799,7 +829,7 @@ { sw->slots[i].x = centerX + (sin(pos * PI * 0.5) * space); sw->slots[i].z = fabs (distance); - sw->slots[i].z *= -(maxThumbWidth / (2.0 * (ox2 - ox1))); + sw->slots[i].z *= -(ss->maxThumbWidth / (2.0 * (ox2 - ox1))); sw->slots[i].rotation = sin(pos * PI * 0.5) * -60; } @@ -817,7 +847,7 @@ sw->slots[i].rotation -= fabs(ang) * 180.0 / PI; sw->slots[i].rotation *= -pos; - sw->slots[i].z = -(maxThumbWidth / (2.0 * (ox2 - ox1))); + sw->slots[i].z = -(ss->maxThumbWidth / (2.0 * (ox2 - ox1))); sw->slots[i].z += -(cos(PI / 6.0) * rad); sw->slots[i].z += (cos(ang) * rad); } @@ -884,8 +914,8 @@ int centerX = ox1 + (ox2 - ox1) / 2; int centerY = oy1 + (oy2 - oy1) / 2; - int maxThumbWidth = (ox2 - ox1) * shiftGetSize(s) / 100; - int maxThumbHeight = (oy2 - oy1) * shiftGetSize(s) / 100; + ss->maxThumbWidth = (ox2 - ox1) * shiftGetSize(s) / 100; + ss->maxThumbHeight = (oy2 - oy1) * shiftGetSize(s) / 100; slotNum = 0; @@ -897,13 +927,13 @@ ww = w->attrib.width + w->input.left + w->input.right; wh = w->attrib.height + w->input.top + w->input.bottom; - if (ww > maxThumbWidth) - xScale = (float)(maxThumbWidth) / (float)ww; + if (ww > ss->maxThumbWidth) + xScale = (float)(ss->maxThumbWidth) / (float)ww; else xScale = 1.0f; - if (wh > maxThumbHeight) - yScale = (float)(maxThumbHeight) / (float)wh; + if (wh > ss->maxThumbHeight) + yScale = (float)(ss->maxThumbHeight) / (float)wh; else yScale = 1.0f; @@ -940,11 +970,11 @@ sw->slots[i].scale = MIN (xScale, yScale); - sw->slots[i].y = centerY + (maxThumbHeight / 2.0) - + sw->slots[i].y = centerY + (ss->maxThumbHeight / 2.0) - (((w->attrib.height / 2.0) + w->input.bottom) * sw->slots[i].scale); - sw->slots[i].x = sin(angle) * distance * (maxThumbWidth / 2); + sw->slots[i].x = sin(angle) * distance * (ss->maxThumbWidth / 2); if (distance > 0 && FALSE) sw->slots[i].x *= 1.5; sw->slots[i].x += centerX; @@ -952,7 +982,7 @@ sw->slots[i].z = cos(angle) * distance; if (distance > 0) sw->slots[i].z *= 1.5; - sw->slots[i].z *= (maxThumbWidth / (2.0 * (ox2 - ox1))); + sw->slots[i].z *= (ss->maxThumbWidth / (2.0 * (ox2 - ox1))); sw->slots[i].rotation = shiftGetFlipRotation (s); @@ -1675,6 +1705,8 @@ } } } + if (ss->state == ShiftStateNone) + switchActivateEvent (s, FALSE); } UNWRAP (ss, s, donePaintScreen); @@ -1795,6 +1827,8 @@ ss->moreAdjust = TRUE; damageScreen (s); + + switchActivateEvent (s, TRUE); } ss->usedOutput = s->currentOutputDev; diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/snap/snap.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/snap/snap.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/snap/snap.c 2009-08-25 12:22:14.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/snap/snap.c 2009-09-11 12:13:08.000000000 +0100 @@ -177,14 +177,7 @@ if (outputDev >= s->nOutputDev) outputDev = 0; - outputRect->x = s->outputDev[outputDev].region.extents.x1; - outputRect->y = s->outputDev[outputDev].region.extents.y1; - outputRect->width = - s->outputDev[outputDev].region.extents.x2 - - s->outputDev[outputDev].region.extents.x1; - outputRect->height = - s->outputDev[outputDev].region.extents.y2 - - s->outputDev[outputDev].region.extents.y1; + *outputRect = s->outputDev[outputDev].workArea; } /* diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/staticswitcher/staticswitcher.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/staticswitcher/staticswitcher.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/staticswitcher/staticswitcher.c 2009-09-04 09:08:03.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/staticswitcher/staticswitcher.c 2009-09-11 12:13:08.000000000 +0100 @@ -90,7 +90,7 @@ unsigned int fgColor[4]; } SwitchScreen; -#define ICON_SIZE 64 +#define ICON_SIZE 48 #define MAX_ICON_SIZE 256 #define PREVIEWSIZE 150 @@ -1527,6 +1527,7 @@ FragmentAttrib fragment; CompTransform wTransform = *transform; int ww, wh; + GLenum filter; width = ss->previewWidth; height = ss->previewHeight; @@ -1581,6 +1582,11 @@ glPushMatrix (); glLoadMatrixf (wTransform.m); + filter = s->display->textureFilter; + + if (staticswitcherGetMipmap (s)) + s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; + /* XXX: replacing the addWindowGeometry function like this is very ugly but necessary until the vertex stage has been made fully pluggable. */ @@ -1590,6 +1596,8 @@ mask); w->screen->addWindowGeometry = oldAddWindowGeometry; + s->display->textureFilter = filter; + glPopMatrix (); if (staticswitcherGetIcon (s)) @@ -1599,8 +1607,8 @@ { float xScale, yScale; - xScale = (icon->width > ICON_SIZE) ? (float) ICON_SIZE / icon->width : 1.0; - yScale = (icon->height > ICON_SIZE) ? (float) ICON_SIZE / icon->height : 1.0; + xScale = (float) ICON_SIZE / icon->width; + yScale = (float) ICON_SIZE / icon->height; if (xScale < yScale) yScale = xScale; @@ -1620,30 +1628,15 @@ width = ss->previewWidth * 3 / 4; height = ss->previewHeight * 3 / 4; - /* try to get a matching icon first */ - icon = getWindowIcon (w, width, height); - /* if none found, try a large one */ - if (!icon) - icon = getWindowIcon (w, MAX_ICON_SIZE, MAX_ICON_SIZE); + /* try to get the largest icon */ + icon = getWindowIcon (w, MAX_ICON_SIZE, MAX_ICON_SIZE); if (!icon) icon = w->screen->defaultIcon; if (icon) { - float iw, ih; - - iw = width; - ih = height; - - if (icon->width < (iw / 2) || icon->width > iw) - sAttrib.xScale = (iw / icon->width); - else - sAttrib.xScale = 1.0f; - - if (icon->height < (ih / 2) || icon->height > ih) - sAttrib.yScale = (ih / icon->height); - else - sAttrib.yScale = 1.0f; + sAttrib.xScale = (width / icon->width); + sAttrib.yScale = (height / icon->height); if (sAttrib.xScale < sAttrib.yScale) sAttrib.yScale = sAttrib.xScale; @@ -1780,7 +1773,6 @@ if (w->id == ss->popupWindow) { - GLenum filter; int x, y, offX, i; float px, py, pos; @@ -1794,11 +1786,6 @@ if (!(mask & PAINT_WINDOW_TRANSFORMED_MASK) && region->numRects == 0) return TRUE; - filter = s->display->textureFilter; - - if (staticswitcherGetMipmap (s)) - s->display->textureFilter = GL_LINEAR_MIPMAP_LINEAR; - glPushAttrib (GL_SCISSOR_BIT); glEnable (GL_SCISSOR_TEST); @@ -1811,8 +1798,6 @@ mask, x + w->attrib.x, y + w->attrib.y); } - s->display->textureFilter = filter; - pos = fmod (ss->pos, ss->nWindows); px = fmod (pos, ss->xCount); py = floor (pos / ss->xCount); diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/text/text.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/text/text.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/text/text.c 2009-09-04 09:08:03.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/text/text.c 2009-09-11 12:13:08.000000000 +0100 @@ -667,7 +667,7 @@ *count = 0; RETURN_DISPATCH (object, dispTab, ARRAY_SIZE (dispTab), - (void *) count, (plugin, object, count)); + NULL, (plugin, object, count)); } diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/thumbnail/thumbnail.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/thumbnail/thumbnail.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/thumbnail/thumbnail.c 2009-09-04 09:08:03.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/thumbnail/thumbnail.c 2009-09-11 12:13:08.000000000 +0100 @@ -801,7 +801,7 @@ THUMB_DISPLAY (s->display); if (t->textData->width < width) - ox = (width - t->textData->width) / 2.0; + ox = (width - (int)t->textData->width) / 2.0; (td->textFunc->drawText) (s, t->textData, wx + ox, wy + height, t->opacity); diff -Nru /tmp/Yd2A9C8kxx/compiz-fusion-plugins-main-0.8.3+git20090904/src/winrules/winrules.c /tmp/ZUIjR4z4Za/compiz-fusion-plugins-main-0.8.3+git20090911/src/winrules/winrules.c --- compiz-fusion-plugins-main-0.8.3+git20090904/src/winrules/winrules.c 2009-08-28 07:43:21.000000000 +0100 +++ compiz-fusion-plugins-main-0.8.3+git20090911/src/winrules/winrules.c 2009-09-11 12:13:08.000000000 +0100 @@ -810,7 +810,7 @@ *count = 0; RETURN_DISPATCH (object, dispTab, ARRAY_SIZE (dispTab), - (void *) count, (plugin, object, count)); + NULL, (plugin, object, count)); } static CompBool