rev 14520 - in trunk/packages/kdelibs/debian: . patches

Fathi Boudra fabo at alioth.debian.org
Tue Apr 28 11:22:21 UTC 2009


Author: fabo
Date: 2009-04-28 11:22:21 +0000 (Tue, 28 Apr 2009)
New Revision: 14520

Added:
   trunk/packages/kdelibs/debian/patches/01_no_plasma_popup_over_screensaver_r956998.diff
Modified:
   trunk/packages/kdelibs/debian/changelog
   trunk/packages/kdelibs/debian/patches/series
Log:
Add patch to not let plasma popup appear over screensaver.


Modified: trunk/packages/kdelibs/debian/changelog
===================================================================
--- trunk/packages/kdelibs/debian/changelog	2009-04-28 10:02:30 UTC (rev 14519)
+++ trunk/packages/kdelibs/debian/changelog	2009-04-28 11:22:21 UTC (rev 14520)
@@ -12,8 +12,13 @@
 
   * Reword of kdelibs5.templates.
 
- -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Mon, 06 Apr 2009 21:44:12 +0300
+  [ Fathi Boudra ]
 
+  * Add 01_no_plasma_popup_over_screensaver_r956998.diff patch:
+    Do not let plasma popup appear over screensaver.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Tue, 28 Apr 2009 13:19:00 +0200
+
 kde4libs (4:4.2.2-2) unstable; urgency=low
 
   +++ Changes by Modestas Vainius:

Added: trunk/packages/kdelibs/debian/patches/01_no_plasma_popup_over_screensaver_r956998.diff
===================================================================
--- trunk/packages/kdelibs/debian/patches/01_no_plasma_popup_over_screensaver_r956998.diff	                        (rev 0)
+++ trunk/packages/kdelibs/debian/patches/01_no_plasma_popup_over_screensaver_r956998.diff	2009-04-28 11:22:21 UTC (rev 14520)
@@ -0,0 +1,75 @@
+Do not let plasma popup appear over screensaver.
+
+KDE BUG: 179924
+
+--- a/plasma/popupapplet.cpp
++++ b/plasma/popupapplet.cpp
+@@ -275,14 +275,8 @@ void PopupAppletPrivate::popupConstraint
+                 //stuff out of your Dialog (extenders). Monitor WindowDeactivate events so we can
+                 //emulate the same kind of behavior as Qt::Popup (close when you click somewhere
+                 //else.
+-                //Use Qt::Tool otherwise dialogs get shown over screensaver (bug #179924).
+-                Qt::WindowFlags wflags = Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint;
+-
+-                if (passive) {
+-                    wflags |= Qt::X11BypassWindowManagerHint;
+-                }
+-
+-                dialog->setWindowFlags(wflags);
++                dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
++                updateDialogFlags();
+                 KWindowSystem::setState(dialog->winId(), NET::SkipTaskbar | NET::SkipPager);
+                 dialog->installEventFilter(q);
+ 
+@@ -340,7 +334,7 @@ void PopupApplet::mouseReleaseEvent(QGra
+ 
+ bool PopupApplet::eventFilter(QObject *watched, QEvent *event)
+ {
+-    if (watched == d->dialog && (event->type() == QEvent::WindowDeactivate)) {
++    if (!d->passive && watched == d->dialog && (event->type() == QEvent::WindowDeactivate)) {
+         d->popupLostFocus = true;
+         hidePopup();
+         QTimer::singleShot(100, this, SLOT(clearPopupLostFocus()));
+@@ -411,15 +405,7 @@ void PopupApplet::setPassivePopup(bool p
+     d->passive = passive;
+ 
+     if (d->dialog) {
+-        Qt::WindowFlags wflags = d->dialog->windowFlags();
+-
+-        if (d->passive) {
+-            wflags |= Qt::X11BypassWindowManagerHint;
+-        } else {
+-            wflags &= ~Qt::X11BypassWindowManagerHint;
+-        }
+-
+-        d->dialog->setWindowFlags(wflags);
++        d->updateDialogFlags();
+     }
+ }
+ 
+@@ -628,6 +614,15 @@ void PopupAppletPrivate::updateDialogPos
+ 
+     dialog->move(pos);
+ }
++
++
++void PopupAppletPrivate::updateDialogFlags()
++{
++    Q_ASSERT(dialog);
++    dialog->setAttribute(Qt::WA_X11NetWmWindowTypeNotification, passive);
++}
++
++
+ } // Plasma namespace
+ 
+ #include "popupapplet.moc"
+--- a/plasma/private/popupapplet_p.h
++++ b/plasma/private/popupapplet_p.h
+@@ -35,6 +35,7 @@ public:
+     void dialogSizeChanged();
+     void dialogStatusChanged(bool status);
+     void updateDialogPosition();
++    void updateDialogFlags();
+     void popupConstraintsEvent(Plasma::Constraints constraints);
+     void checkExtenderAppearance(Plasma::FormFactor f);
+ 

Modified: trunk/packages/kdelibs/debian/patches/series
===================================================================
--- trunk/packages/kdelibs/debian/patches/series	2009-04-28 10:02:30 UTC (rev 14519)
+++ trunk/packages/kdelibs/debian/patches/series	2009-04-28 11:22:21 UTC (rev 14520)
@@ -1,3 +1,4 @@
+01_no_plasma_popup_over_screensaver_r956998.diff
 08_add_debian_build_type.diff
 09_disable_debug_messages_if_not_explicitly_enabled.diff
 11_default_kde4_xdg_menu_prefix.diff




More information about the pkg-kde-commits mailing list