rpms/kdelibs/F-10 kdelibs-4.2.2-plasma-focus.patch, 1.1, 1.2 kdelibs.spec, 1.418, 1.419

Kevin Kofler kkofler at fedoraproject.org
Tue Apr 21 15:13:03 UTC 2009


Author: kkofler

Update of /cvs/pkgs/rpms/kdelibs/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29735/F-10

Modified Files:
	kdelibs-4.2.2-plasma-focus.patch kdelibs.spec 
Log Message:
Sync from F11:

* Tue Apr 21 2009 Than Ngo <than at redhat.com> - 4.2.2-9
- don't let plasma appear over screensaver

kdelibs-4.2.2-plasma-focus.patch:

Index: kdelibs-4.2.2-plasma-focus.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kdelibs/F-10/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 16:10:05 -0000	1.1
+++ kdelibs-4.2.2-plasma-focus.patch	21 Apr 2009 15:13:00 -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;


Index: kdelibs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdelibs/F-10/kdelibs.spec,v
retrieving revision 1.418
retrieving revision 1.419
diff -u -r1.418 -r1.419
--- kdelibs.spec	20 Apr 2009 13:08:28 -0000	1.418
+++ kdelibs.spec	21 Apr 2009 15:13:01 -0000	1.419
@@ -1,6 +1,6 @@
 Summary: K Desktop Environment 4 - Libraries
 Version: 4.2.2
-Release: 8%{?dist}
+Release: 9%{?dist}
 
 %if 0%{?fedora} > 8
 Name: kdelibs
@@ -83,7 +83,6 @@
 # disable strict aliasing in kjs/dtoa.cpp (GCC 4.4 x86_64 crash) (#485968)
 Patch24: kdelibs-4.2.0-kjs-gcc44-crash.patch
 Patch25: kdelibs-4.2.0-gcc44-misc.patch
-Patch26: kdelibs-4.2.2-plasma-focus.patch
 # kconf_update script for Patch201 - to be upstreamed
 Patch27: kdelibs-4.2.2-popupapplet-kconf_update.patch
 
@@ -94,6 +93,7 @@
 Patch102: kdelibs-4.2.2-bidi-kde#189161.patch
 Patch103: kdelibs-4.2.2-kde#180785.patch
 Patch104: kdelibs-4.2.2-kde#180785-2.patch
+Patch105: kdelibs-4.2.2-plasma-focus.patch
 
 # 4.3 branch
 Patch200: kdelibs-4.1.96-AllowExternalPaths.patch
@@ -232,7 +232,6 @@
 %patch23 -p1 -b .gcc44
 %patch24 -p1 -b .kjs-gcc44-crash
 %patch25 -p1 -b .gcc44-misc
-%patch26 -p1 -b .kickoff-focus
 %patch27 -p1 -b .popupapplet-kconf_update
 
 # upstream patches
@@ -242,6 +241,7 @@
 %patch102 -p4 -b .bidi-kde#189161
 %patch103 -p4 -b .kde#180785
 %patch104 -p4 -b .kde#180785-2
+%patch105 -p1 -b .kickoff-focus
 
 # 4.3
 %patch200 -p1 -b .AllowExternalPaths
@@ -428,6 +428,9 @@
 
 
 %changelog
+* Tue Apr 21 2009 Than Ngo <than at redhat.com> - 4.2.2-9
+- don't let plasma appear over screensaver
+
 * Mon Apr 20 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> 4.2.2-8
 - fix Plasma PopupApplet configuration interfering with weather applet (#495998)
 




More information about the fedora-extras-commits mailing list