rpms/kdelibs/devel kdelibs-4.2.2-plasma-focus.patch,1.1,1.2

Kevin Kofler kkofler at fedoraproject.org
Wed Apr 22 10:27:39 UTC 2009


Author: kkofler

Update of /cvs/pkgs/rpms/kdelibs/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25290/devel

Modified Files:
	kdelibs-4.2.2-plasma-focus.patch 
Log Message:
Sync the plasma-focus patch as well.

kdelibs-4.2.2-plasma-focus.patch:

Index: kdelibs-4.2.2-plasma-focus.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kdelibs/devel/kdelibs-4.2.2-plasma-focus.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- kdelibs-4.2.2-plasma-focus.patch	7 Apr 2009 15:43:04 -0000	1.1
+++ kdelibs-4.2.2-plasma-focus.patch	22 Apr 2009 10:27:37 -0000	1.2
@@ -1,12 +1,73 @@
 diff -up kdelibs-4.2.2/plasma/popupapplet.cpp.orig kdelibs-4.2.2/plasma/popupapplet.cpp
 --- kdelibs-4.2.2/plasma/popupapplet.cpp.orig	2009-03-30 23:41:08.000000000 +0200
-+++ kdelibs-4.2.2/plasma/popupapplet.cpp	2009-04-07 17:36:51.000000000 +0200
-@@ -276,7 +276,7 @@ void PopupAppletPrivate::popupConstraint
++++ kdelibs-4.2.2/plasma/popupapplet.cpp	2009-04-21 12:52:16.000000000 +0200
+@@ -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).
+-                //Use Qt::Tool otherwise dialogs get shown over screensaver (bug #179924).
 -                Qt::WindowFlags wflags = Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint;
-+                Qt::WindowFlags wflags = 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"
+diff -up kdelibs-4.2.2/plasma/private/popupapplet_p.h.orig kdelibs-4.2.2/plasma/private/popupapplet_p.h
+--- kdelibs-4.2.2/plasma/private/popupapplet_p.h.orig	2009-04-21 12:59:29.000000000 +0200
++++ kdelibs-4.2.2/plasma/private/popupapplet_p.h	2009-04-21 12:52:16.000000000 +0200
+@@ -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);
  
-                 if (passive) {
-                     wflags |= Qt::X11BypassWindowManagerHint;




More information about the fedora-extras-commits mailing list