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]
