Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2:Update
compiz
kde-auto-comp.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kde-auto-comp.diff of Package compiz
--- a/kde/window-decorator-kde4/decorator.cpp +++ b/kde/window-decorator-kde4/decorator.cpp @@ -90,6 +90,15 @@ KWD::PluginManager::PluginManager (KSharedConfigPtr config): "kwin3_oxygen" : "kwin3_plastik"; } +static int redirectError; + +static int +redirectErrorHandler (Display *dpy, + XErrorEvent *e) +{ + redirectError++; + return 0; +} KWD::Decorator::Decorator (Display* display, Qt::HANDLE visual, @@ -169,8 +178,16 @@ KWD::Decorator::Decorator (Display* display, CopyFromParent, CWOverrideRedirect, &attr); + redirectError = 0; + int (*oldErrorHandler) (Display *, XErrorEvent *) = + XSetErrorHandler (redirectErrorHandler); XCompositeRedirectSubwindows (QX11Info::display(), mCompositeWindow, - CompositeRedirectManual); + CompositeRedirectManual); + syncX (); + XSetErrorHandler (oldErrorHandler); + if (redirectError) + XCompositeRedirectSubwindows (QX11Info::display(), mCompositeWindow, + CompositeRedirectAutomatic); XMapWindow (QX11Info::display(), mCompositeWindow); } diff --git a/kde/window-decorator/decorator.cpp b/kde/window-decorator/decorator.cpp index 03819dc..7f630ea 100644 --- a/kde/window-decorator/decorator.cpp +++ b/kde/window-decorator/decorator.cpp @@ -188,6 +188,16 @@ dbusHandleMessage (DBusConnection *connection, return result; } +static int redirectError; + +static int +redirectErrorHandler (Display *dpy, + XErrorEvent *e) +{ + redirectError++; + return 0; +} + KWD::Decorator::Decorator (void) : DCOPObject ("KWinInterface"), KApplication (), mConfig (0), @@ -242,8 +252,16 @@ KWD::Decorator::Decorator (void) : DCOPObject ("KWinInterface"), CopyFromParent, CWOverrideRedirect, &attr); + redirectError = 0; + int (*oldErrorHandler) (Display *, XErrorEvent *) = + XSetErrorHandler (redirectErrorHandler); XCompositeRedirectSubwindows (qt_xdisplay (), mCompositeWindow, CompositeRedirectManual); + syncX (); + XSetErrorHandler (oldErrorHandler); + if (redirectError) + XCompositeRedirectSubwindows (qt_xdisplay (), mCompositeWindow, + CompositeRedirectAutomatic); XMapWindow (qt_xdisplay (), mCompositeWindow); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor