[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/plasma/private
From: Marco Martin <notmart () gmail ! com>
Date: 2011-01-20 9:41:11
Message-ID: 20110120094111.15CB0AC8B7 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1215920 by mart:
check if the efect is active in the effectwatcher ctor, this avoids an useless \
themechanged signal, that among other things clears framesvg cache, forgetting the \
size of the other prefixes, that's why the pager was looking corrupted This problem \
asn't in branch since effectwatcher is only in trunk
M +21 -9 effectwatcher.cpp
M +1 -0 effectwatcher_p.h
--- trunk/KDE/kdelibs/plasma/private/effectwatcher.cpp #1215919:1215920
@@ -32,9 +32,9 @@
EffectWatcher::EffectWatcher(QString property, QWidget *parent)
: QWidget(parent),
- m_property(property),
- m_effectActive(false)
+ m_property(property)
{
+ m_effectActive = isEffectActive();
#ifdef Q_WS_X11
kapp->installX11EventFilter( this );
Display *dpy = QX11Info::display();
@@ -55,13 +55,7 @@
Display *dpy = QX11Info::display();
Atom testAtom = XInternAtom(dpy, m_property.toLatin1(), False);
if (event->xproperty.atom == testAtom) {
- bool nowEffectActive = false;
- int cnt;
- Atom *list = XListProperties(dpy, DefaultRootWindow(dpy), &cnt);
- if (list != NULL) {
- nowEffectActive = (qFind(list, list + cnt, testAtom) != list + cnt);
- XFree(list);
- }
+ bool nowEffectActive = isEffectActive();
if (m_effectActive != nowEffectActive) {
m_effectActive = nowEffectActive;
emit blurBehindChanged(m_effectActive);
@@ -72,7 +66,25 @@
}
#endif
+bool EffectWatcher::isEffectActive() const
+{
+#ifdef Q_WS_X11
+ Display *dpy = QX11Info::display();
+ Atom testAtom = XInternAtom(dpy, m_property.toLatin1(), False);
+ bool nowEffectActive = false;
+ int cnt;
+ Atom *list = XListProperties(dpy, DefaultRootWindow(dpy), &cnt);
+ if (list != NULL) {
+ nowEffectActive = (qFind(list, list + cnt, testAtom) != list + cnt);
+ XFree(list);
}
+ return nowEffectActive;
+#else
+ return false;
+#endif
+}
+}
+
#include "effectwatcher_p.moc"
--- trunk/KDE/kdelibs/plasma/private/effectwatcher_p.h #1215919:1215920
@@ -35,6 +35,7 @@
EffectWatcher(QString property, QWidget *parent = 0);
protected:
+ bool isEffectActive() const;
#ifdef Q_WS_X11
bool x11Event(XEvent *event);
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic