Hello community,

here is the log from the commit of package plasma-addons for openSUSE:Factory 
checked in at 2012-04-17 07:48:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plasma-addons (Old)
 and      /work/SRC/openSUSE:Factory/.plasma-addons.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "plasma-addons", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/plasma-addons/plasma-addons.changes      
2012-04-12 09:51:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.plasma-addons.new/plasma-addons.changes 
2012-04-17 07:48:18.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Apr 10 11:30:35 UTC 2012 - [email protected]
+
+- Fix For Upstream. Patch3. fixed a hard to reproduce bug 
+  that when you input super fast, panel will break and disappear. 
+  should be removed when 4.8.3
+
+-------------------------------------------------------------------

New:
----
  fix-for-upstream-kimpanel-1.0-super-fast-input-panel-broken.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ plasma-addons.spec ++++++
--- /var/tmp/diff_new_pack.yYMlRI/_old  2012-04-17 07:48:19.000000000 +0200
+++ /var/tmp/diff_new_pack.yYMlRI/_new  2012-04-17 07:48:19.000000000 +0200
@@ -27,6 +27,10 @@
 Patch0:         4_7_BRANCH.diff
 Patch1:         krunner-akonadi-dont-cause-start.diff
 Patch2:         lancelot-suse.diff
+# Fix For Upstream. Patch3. [email protected] fixed a hard to reproduce bug 
+# that when you input super fast, panel will break and disappear. 
+# should be removed when 4.8.3
+Patch3:         
fix-for-upstream-kimpanel-1.0-super-fast-input-panel-broken.patch
 BuildRequires:  fdupes
 BuildRequires:  ibus-devel
 BuildRequires:  kdebase4-workspace-devel
@@ -115,6 +119,7 @@
 %patch0 -p1
 %patch1
 %patch2
+%patch3 -p1
 
 %build
   %cmake_kde4 -d build

++++++ fix-for-upstream-kimpanel-1.0-super-fast-input-panel-broken.patch ++++++
diff -urN kdeplasma-addons-4.8.2.orig/applets/kimpanel/backend/ibus/panel.c 
kdeplasma-addons-4.8.2/applets/kimpanel/backend/ibus/panel.c
--- kdeplasma-addons-4.8.2.orig/applets/kimpanel/backend/ibus/panel.c   
2012-04-10 18:21:59.112168843 +0800
+++ kdeplasma-addons-4.8.2/applets/kimpanel/backend/ibus/panel.c        
2012-04-10 18:22:24.780847940 +0800
@@ -572,9 +572,9 @@
     g_object_get (IBUS_PANEL_IMPANEL (panel),
                   "connection", &ibusconn,
                   NULL);
-    
+
     IBusEngineDesc *engine_desc = 
ibus_bus_get_global_engine(IBUS_PANEL_IMPANEL (panel)->bus);
-    
+
     IBusInputContext *ic = 
ibus_input_context_get_input_context(input_context_path, ibusconn);
     IBUS_PANEL_IMPANEL (panel)->input_context = ic;
     
diff -urN kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/CMakeLists.txt 
kdeplasma-addons-4.8.2/applets/kimpanel/src/CMakeLists.txt
--- kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/CMakeLists.txt     
2012-04-10 18:21:59.115168805 +0800
+++ kdeplasma-addons-4.8.2/applets/kimpanel/src/CMakeLists.txt  2012-04-10 
18:22:24.786847864 +0800
@@ -1,5 +1,7 @@
 project(plasma-applet-kimpanel)
 
+include_directories(${X11_X11_INCLUDE_PATH})
+
 set(plasma_applet_kimpanel_SRCS
     kimpanel.cpp
     kimpanelinputpanel.cpp
@@ -17,7 +19,9 @@
 target_link_libraries(plasma_applet_kimpanel
                       ${KDE4_KDECORE_LIBS}
                       ${KDE4_PLASMA_LIBS}
-                      ${KDE4_KIO_LIBS})
+                      ${KDE4_KIO_LIBS}
+                      ${X11_X11_LIB}
+                      )
 
 install(TARGETS plasma_applet_kimpanel
         DESTINATION ${PLUGIN_INSTALL_DIR})
diff -urN 
kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelinputpanel.cpp 
kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelinputpanel.cpp
--- kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelinputpanel.cpp     
2012-04-10 18:21:59.115168805 +0800
+++ kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelinputpanel.cpp  
2012-04-10 18:22:24.787847852 +0800
@@ -21,6 +21,7 @@
 #include <QApplication>
 #include <QVBoxLayout>
 #include <QGraphicsView>
+#include <QX11Info>
 
 // KDE
 #include <KWindowSystem>
@@ -30,6 +31,8 @@
 #include <Plasma/Theme>
 #include <Plasma/WindowEffects>
 
+#include <X11/Xlib.h>
+
 #include "kimpanelsettings.h"
 #include "kimpanelinputpanelgraphics.h"
 #include "kimpanelinputpanel.h"
@@ -43,12 +46,13 @@
       m_backgroundSvg(new Plasma::FrameSvg(this))
 {
     setAttribute(Qt::WA_TranslucentBackground);
+    setWindowFlags(Qt::ToolTip);
+    setAttribute(Qt::WA_X11DoNotAcceptFocus, true);
+    KWindowSystem::setState(winId(), NET::KeepAbove);
+    KWindowSystem::setType(winId(), NET::Tooltip);
     QPalette pal = palette();
     pal.setColor(backgroundRole(), Qt::transparent);
     setPalette(pal);
-    setWindowFlags(Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint);
-    KWindowSystem::setState(winId(), NET::SkipTaskbar | NET::SkipPager | 
NET::StaysOnTop);
-    KWindowSystem::setType(winId(), NET::PopupMenu);
 
     m_layout->setContentsMargins(0, 0, 0, 0);
     m_layout->setSpacing(0);
@@ -88,7 +92,7 @@
 
 void KimpanelInputPanel::loadTheme()
 {
-    maskBackground(KWindowSystem::compositingActive());
+    maskBackground(Plasma::Theme::defaultTheme()->windowTranslucencyEnabled());
 
     update();
 }
@@ -97,6 +101,15 @@
 {
 }
 
+void KimpanelInputPanel::showEvent(QShowEvent *e)
+{
+    QWidget::showEvent(e);
+    Plasma::WindowEffects::overrideShadow(winId(), true);
+    Display *dpy = QX11Info::display();
+    Atom atom = XInternAtom( dpy, "_KDE_NET_WM_SHADOW", False );
+    XDeleteProperty(dpy, winId(), atom);
+}
+
 void KimpanelInputPanel::resizeEvent(QResizeEvent* event)
 {
     QWidget::resizeEvent(event);
@@ -106,7 +119,7 @@
     m_backgroundSvg->resizeFrame(event->size());
     setSpotLocation(x(), y());
 
-    maskBackground(KWindowSystem::compositingActive());
+    maskBackground(Plasma::Theme::defaultTheme()->windowTranslucencyEnabled());
     update();
 }
 
@@ -204,8 +217,7 @@
 
 void KimpanelInputPanel::updateVisible(bool visible)
 {
-    if (isVisible() != visible)
-        setVisible(visible);
+    setVisible(visible);
 }
 
 void KimpanelInputPanel::updateSize()
diff -urN 
kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelinputpanelgraphics.cpp 
kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelinputpanelgraphics.cpp
--- 
kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelinputpanelgraphics.cpp 
    2012-04-10 18:21:59.183167953 +0800
+++ kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelinputpanelgraphics.cpp  
2012-04-10 18:22:24.787847852 +0800
@@ -38,10 +38,11 @@
     m_preeditLabel(new KimpanelLabelGraphics(Preedit, this)),
     m_pageUpIcon(new Plasma::IconWidget(this)),
     m_pageDownIcon(new Plasma::IconWidget(this)),
-    m_tableEntryMapper(new QSignalMapper(this))
+    m_tableEntryMapper(new QSignalMapper(this)),
+    m_lastVisible(false)
 {
     setContentsMargins(0, 0, 0, 0);
-    
+
     // Content inside this panel will rapidly changed
     setCacheMode(QGraphicsItem::NoCache);
 
@@ -251,15 +252,16 @@
 
 void KimpanelInputPanelGraphics::updateVisible()
 {
-    if (preeditVisible || auxVisible || lookuptableVisible) {
-        emit visibleChanged(true);
-    } else {
-        emit visibleChanged(false);
+    if (m_lastVisible != (preeditVisible || auxVisible || lookuptableVisible)) 
{
+        m_lastVisible = (preeditVisible || auxVisible || lookuptableVisible);
+        emit visibleChanged(m_lastVisible);
     }
 }
 
 void KimpanelInputPanelGraphics::updateSize()
 {
+    m_upperLayout->invalidate();
+    m_lowerLayout->invalidate();
     m_layout->invalidate();
 
     resize(preferredSize());
diff -urN 
kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelinputpanelgraphics.h 
kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelinputpanelgraphics.h
--- 
kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelinputpanelgraphics.h   
    2012-04-10 18:21:59.115168805 +0800
+++ kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelinputpanelgraphics.h    
2012-04-10 18:22:24.787847852 +0800
@@ -103,6 +103,7 @@
     QList<KimpanelLabelGraphics *> m_tableEntryLabels;
 
     QSignalMapper *m_tableEntryMapper;
+    bool m_lastVisible;
 };
 
 #endif // KIMPANEL_INPUTPANEL_GRAHICS_H
diff -urN kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelinputpanel.h 
kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelinputpanel.h
--- kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelinputpanel.h       
2012-04-10 18:21:59.115168805 +0800
+++ kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelinputpanel.h    
2012-04-10 18:22:24.787847852 +0800
@@ -61,6 +61,7 @@
     void lookupTablePageDown();
     void selectCandidate(int index);
 protected:
+    virtual void showEvent(QShowEvent* event);
     virtual void resizeEvent(QResizeEvent* event);
     virtual void paintEvent(QPaintEvent* event);
 private Q_SLOTS:
diff -urN 
kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanellabelgraphics.cpp 
kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanellabelgraphics.cpp
--- kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanellabelgraphics.cpp  
2012-04-10 18:21:59.114168817 +0800
+++ kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanellabelgraphics.cpp       
2012-04-10 18:22:24.788847840 +0800
@@ -235,7 +235,7 @@
 
 QSizeF KimpanelLabelGraphics::sizeHint(Qt::SizeHint which, const QSizeF& 
constraint) const
 {
-    if (which == Qt::MinimumSize || which == Qt::PreferredSize)
+    if (which == Qt::MinimumSize || which == Qt::MaximumSize || which == 
Qt::PreferredSize)
         return m_pixmap.size();
     else
         return QGraphicsWidget::sizeHint(which, constraint);
diff -urN 
kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelstatusbargraphics.cpp 
kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelstatusbargraphics.cpp
--- 
kdeplasma-addons-4.8.2.orig/applets/kimpanel/src/kimpanelstatusbargraphics.cpp  
    2012-04-10 18:21:59.115168805 +0800
+++ kdeplasma-addons-4.8.2/applets/kimpanel/src/kimpanelstatusbargraphics.cpp   
2012-04-10 18:22:24.788847840 +0800
@@ -142,7 +142,7 @@
                     m_svg->setImagePath("widgets/labeltexture");
                     m_svg->setContainsMultipleImages(true);
                 }
-                
+
                 QFont font = KimpanelSettings::self()->font();
                 font.setPixelSize(KIconLoader::SizeSmallMedium);
                 QString iconString = property.label.left(1);

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to