summaryrefslogtreecommitdiffstats
path: root/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch')
-rw-r--r--redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch b/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch
new file mode 100644
index 000000000..e17ae11b5
--- /dev/null
+++ b/redhat/kdebase/kdebase-3.5.13-randrtray_merge_x11_reconfig_requests.patch
@@ -0,0 +1,51 @@
+Index: krandrapp.cpp
+===================================================================
+--- kcontrol/randr/krandrapp.cpp (revision 1261452)
++++ kcontrol/randr/krandrapp.cpp (working copy)
+@@ -28,13 +28,20 @@
+ KRandRApp::KRandRApp()
+ : m_tray(new KRandRSystemTray(0L, "RANDRTray"))
+ {
++ connect(&m_eventMergingTimer, TQT_SIGNAL(timeout()), this, TQT_SLOT(handleX11ConfigChangeEvent()));
+ m_tray->show();
+ }
+
++void KRandRApp::handleX11ConfigChangeEvent()
++{
++ m_eventMergingTimer.stop();
++ m_tray->configChanged();
++}
++
+ bool KRandRApp::x11EventFilter(XEvent* e)
+ {
+ if (e->type == m_tray->screenChangeNotifyEvent()) {
+- m_tray->configChanged();
++ m_eventMergingTimer.start(1000, TRUE);
+ }
+ return KApplication::x11EventFilter( e );
+ }
+Index: krandrapp.h
+===================================================================
+--- kcontrol/randr/krandrapp.h (revision 1261452)
++++ kcontrol/randr/krandrapp.h (working copy)
+@@ -19,6 +19,7 @@
+ #ifndef KRANDRAPP_H
+ #define KRANDRAPP_H
+
++#include <tqtimer.h>
+ #include <kuniqueapplication.h>
+
+ class KRandRSystemTray;
+@@ -32,8 +33,12 @@
+
+ virtual bool x11EventFilter(XEvent * e);
+
++private slots:
++ void handleX11ConfigChangeEvent();
++
+ private:
+ KRandRSystemTray* m_tray;
++ TQTimer m_eventMergingTimer;
+ };
+
+ #endif