[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/kcontrol/screensaver
From: Luboš Luňák <l.lunak () kde ! org>
Date: 2005-11-30 19:01:57
Message-ID: 1133377317.377578.20259.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 484430 by lunakl:
Don't mix colormaps for multiple windows.
M +7 -4 kswidget.cpp
M +4 -0 kswidget.h
--- trunk/KDE/kdebase/workspace/kcontrol/screensaver/kswidget.cpp #484429:484430
@@ -8,7 +8,7 @@
#endif
KSWidget::KSWidget( QWidget* parent )
- : QX11EmbedWidget( parent )
+ : QX11EmbedWidget( parent ), colormap( None )
{
// use visual with support for double-buffering, for opengl
// this code is duplicated in kdebase/kdesktop/lock/
@@ -22,9 +22,6 @@
if( XVisualInfo* i = glXChooseVisual( x11Display(), x11Screen(), attribs ))
{
visual = i->visual;
- static Colormap colormap = 0;
- if( colormap != 0 )
- XFreeColormap( x11Display(), colormap );
colormap = XCreateColormap( x11Display(), RootWindow( x11Display(), \
x11Screen()), visual, AllocNone ); attrs.colormap = colormap;
flags |= CWColormap;
@@ -37,4 +34,10 @@
#endif
}
+KSWidget::~KSWidget()
+{
+ if( colormap != None )
+ XFreeColormap( x11Display(), colormap );
+}
+
#include "kswidget.moc"
--- trunk/KDE/kdebase/workspace/kcontrol/screensaver/kswidget.h #484429:484430
@@ -3,12 +3,16 @@
#include <QX11EmbedWidget>
#include <qwidget.h>
+#include <X11/X.h>
class KSWidget : public QX11EmbedWidget
{
Q_OBJECT
public:
KSWidget( QWidget *parent = NULL );
+ virtual ~KSWidget();
+private:
+ Colormap colormap;
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic