Hello community, here is the log from the commit of package breeze for openSUSE:Factory checked in at 2015-03-16 09:36:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/breeze (Old) and /work/SRC/openSUSE:Factory/.breeze.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "breeze" Changes: -------- --- /work/SRC/openSUSE:Factory/breeze/breeze.changes 2015-03-01 15:03:28.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.breeze.new/breeze.changes 2015-03-16 09:36:17.000000000 +0100 @@ -1,0 +2,9 @@ +Tue Mar 10 18:49:07 UTC 2015 - [email protected] + +- Added patches from upstream: + 0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch, + 0002-Check-scrollbar-policy-before-forwarding-events.patch, + 0003-return-parent-style-method-when-option-passed-to-tab.patch + and 0004-check-widget-validity-before-calling-deleteLater.patch + +------------------------------------------------------------------- breeze4-style.changes: same change New: ---- 0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch 0002-Check-scrollbar-policy-before-forwarding-events.patch 0003-return-parent-style-method-when-option-passed-to-tab.patch 0004-check-widget-validity-before-calling-deleteLater.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ breeze.spec ++++++ --- /var/tmp/diff_new_pack.l1ZPZ2/_old 2015-03-16 09:36:18.000000000 +0100 +++ /var/tmp/diff_new_pack.l1ZPZ2/_new 2015-03-16 09:36:18.000000000 +0100 @@ -47,6 +47,10 @@ #Source: http://download.kde.org/stable/plasma/%{version}/%{name}-%{version}.tar.xz Source: %{name}-%{version}.tar.xz Source99: %{name}-rpmlintrc +Patch0: 0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch +Patch1: 0002-Check-scrollbar-policy-before-forwarding-events.patch +Patch2: 0003-return-parent-style-method-when-option-passed-to-tab.patch +Patch3: 0004-check-widget-validity-before-calling-deleteLater.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -103,6 +107,10 @@ %lang_package -n breeze5-style %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %cmake_kf5 -d build -- -DBUILD_po=OFF -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5 ++++++ breeze4-style.spec ++++++ --- /var/tmp/diff_new_pack.l1ZPZ2/_old 2015-03-16 09:36:18.000000000 +0100 +++ /var/tmp/diff_new_pack.l1ZPZ2/_new 2015-03-16 09:36:18.000000000 +0100 @@ -31,6 +31,10 @@ Url: http://www.kde.org #Source: http://download.kde.org/stable/plasma/%{version}/breeze-%{version}.tar.xz Source: breeze-%{version}.tar.xz +Patch0: 0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch +Patch1: 0002-Check-scrollbar-policy-before-forwarding-events.patch +Patch2: 0003-return-parent-style-method-when-option-passed-to-tab.patch +Patch3: 0004-check-widget-validity-before-calling-deleteLater.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -39,6 +43,10 @@ %prep %setup -q -n breeze-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %cmake_kde4 -d build -- -DBUILD_po=OFF -DUSE_KDE4=ON ++++++ 0001-Added-an-explicit-flag-as-output-from-captionRect-to.patch ++++++ >From a8d2104ab36c91053da1fee3ad31d68c979965a7 Mon Sep 17 00:00:00 2001 From: Hugo Pereira Da Costa <[email protected]> Date: Thu, 26 Feb 2015 00:17:18 +0100 Subject: [PATCH 1/4] Added an explicit flag as output from captionRect to tell whether caption must be ellided or not. BUG: 344552 --- kdecoration/breezedecoration.cpp | 18 ++++++++++-------- kdecoration/breezedecoration.h | 8 +++++++- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/kdecoration/breezedecoration.cpp b/kdecoration/breezedecoration.cpp index 3b1479a82b19ca8427690ccc7b00b2f36f2289aa..f63306524e1301477904f284037c54ed09bbe276 100644 --- a/kdecoration/breezedecoration.cpp +++ b/kdecoration/breezedecoration.cpp @@ -440,10 +440,13 @@ namespace Breeze // draw caption painter->setFont(s->font()); - const QRect cR = captionRect(); - const QString caption = painter->fontMetrics().elidedText(c->caption(), Qt::ElideMiddle, cR.width()); + const auto cR = captionRect(); + const QString caption = cR.second ? + painter->fontMetrics().elidedText(c->caption(), Qt::ElideMiddle, cR.first.width()): + c->caption(); + painter->setPen(m_colorSettings.font(c->isActive())); - painter->drawText(cR, Qt::AlignVCenter| Qt::AlignLeft | Qt::TextSingleLine, caption); + painter->drawText(cR.first, Qt::AlignVCenter| Qt::AlignLeft | Qt::TextSingleLine, caption); // draw all buttons m_leftButtons->paint(painter, repaintRegion); @@ -470,7 +473,7 @@ namespace Breeze { return borderTop() - settings()->smallSpacing()*(Metrics::TitleBar_BottomMargin + Metrics::TitleBar_TopMargin ) - 1; } //________________________________________________________________ - QRect Decoration::captionRect() const + QPair<QRect,bool> Decoration::captionRect() const { const int leftOffset = m_leftButtons->geometry().x() + m_leftButtons->geometry().width() + Metrics::TitleBar_SideMargin*settings()->smallSpacing(); const int rightOffset = size().width() - m_rightButtons->geometry().x() + Metrics::TitleBar_SideMargin*settings()->smallSpacing(); @@ -480,9 +483,8 @@ namespace Breeze boundingRect.setTop( yOffset ); boundingRect.setHeight( captionHeight() ); - /* need to increase the bounding rect because it is sometime (font dependent) - too small, resulting in text being elided */ - boundingRect.setWidth( boundingRect.width()+4 ); + // store original width to detect when text ellision is needed + const int boundingRectWidth( boundingRect.width() ); switch( m_internalSettings->titleAlignment() ) { @@ -518,7 +520,7 @@ namespace Breeze boundingRect.setLeft( qMax( boundingRect.left(), leftOffset ) ); } - return boundingRect; + return qMakePair( boundingRect, boundingRect.width() < boundingRectWidth ); } diff --git a/kdecoration/breezedecoration.h b/kdecoration/breezedecoration.h index 9eb6c659fb657e66d2c4dc006b22beef7b22a02c..ccdc6a67c65aad4a17e083b3f3360fc3cb57ddbc 100644 --- a/kdecoration/breezedecoration.h +++ b/kdecoration/breezedecoration.h @@ -109,7 +109,13 @@ namespace Breeze void updateAnimationState(); private: - QRect captionRect() const; + + /** + return the smallest rect in which caption will be drawn, + properly positionned inside the title bar. Second return parameter + is set to true when text ellision is required + */ + QPair<QRect,bool> captionRect() const; void createButtons(); void paintTitleBar(QPainter *painter, const QRect &repaintRegion); -- 2.3.0 ++++++ 0002-Check-scrollbar-policy-before-forwarding-events.patch ++++++ >From 759ff9bf1ba38a47214849bc0a80cfbc7333c3a9 Mon Sep 17 00:00:00 2001 From: Hugo Pereira Da Costa <[email protected]> Date: Sun, 1 Mar 2015 18:19:10 +0100 Subject: [PATCH 2/4] Check scrollbar policy before forwarding events BUG: 343659 --- kstyle/breezestyle.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp index 818eaec5e9a0143aa8bec778c620735aabbeb71c..6caa00b7259b44ac38f8db206df1317d2edafbc9 100644 --- a/kstyle/breezestyle.cpp +++ b/kstyle/breezestyle.cpp @@ -1002,8 +1002,9 @@ namespace Breeze QList<QScrollBar*> scrollBars; if( QAbstractScrollArea* scrollArea = qobject_cast<QAbstractScrollArea*>( widget ) ) { - scrollBars.append( scrollArea->horizontalScrollBar() ); - scrollBars.append( scrollArea->verticalScrollBar() ); + + if( scrollArea->horizontalScrollBarPolicy() != Qt::ScrollBarAlwaysOff ) scrollBars.append( scrollArea->horizontalScrollBar() ); + if( scrollArea->verticalScrollBarPolicy() != Qt::ScrollBarAlwaysOff )scrollBars.append( scrollArea->verticalScrollBar() ); } else if( widget->inherits( "KTextEditor::View" ) ) { @@ -5440,7 +5441,6 @@ namespace Breeze const bool hasPopupMenu( toolButtonOption->subControls & SC_ToolButtonMenu ); const bool hasInlineIndicator( toolButtonOption->features & QStyleOptionToolButton::HasMenu && !hasPopupMenu ); - const QRect buttonRect( subControlRect( CC_ToolButton, option, SC_ToolButton, widget ) ); const QRect menuRect( subControlRect( CC_ToolButton, option, SC_ToolButtonMenu, widget ) ); -- 2.3.0 ++++++ 0003-return-parent-style-method-when-option-passed-to-tab.patch ++++++ >From ac6e765800cf6e78a2cae8692f6c49b75df49bda Mon Sep 17 00:00:00 2001 From: Hugo Pereira Da Costa <[email protected]> Date: Tue, 3 Mar 2015 16:37:55 +0100 Subject: [PATCH 3/4] return parent style method when option passed to tabBar rect is invalid, instead of full option rect removed check on invalid tabbar size BUG: 344779 --- kstyle/breezestyle.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp index 6caa00b7259b44ac38f8db206df1317d2edafbc9..e91b5da2a1622e8816a77e5cc509f9f4dd236bb2 100644 --- a/kstyle/breezestyle.cpp +++ b/kstyle/breezestyle.cpp @@ -1548,11 +1548,10 @@ namespace Breeze // cast option and check const QStyleOptionTabWidgetFrame* tabOption = qstyleoption_cast<const QStyleOptionTabWidgetFrame*>( option ); - if( !tabOption ) return option->rect; + if( !tabOption ) return ParentStyleClass::subElementRect( SE_TabWidgetTabBar, option, widget ); // do nothing if tabbar is hidden const QSize tabBarSize( tabOption->tabBarSize ); - if( tabBarSize.isEmpty() ) return option->rect; QRect rect( option->rect ); QRect tabBarRect( QPoint(0, 0), tabBarSize ); -- 2.3.0 ++++++ 0004-check-widget-validity-before-calling-deleteLater.patch ++++++ >From 72d18b7f5245d265fb0eb974854989aebc357724 Mon Sep 17 00:00:00 2001 From: Hugo Pereira Da Costa <[email protected]> Date: Mon, 9 Mar 2015 20:52:13 +0100 Subject: [PATCH 4/4] check widget validity before calling deleteLater BUG: 344980 --- kstyle/breezepalettehelper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kstyle/breezepalettehelper.cpp b/kstyle/breezepalettehelper.cpp index e134a6557722237858850aa854bb6a485a3bb99d..1fcb3e65225002f5eef193028e656ae499961960 100644 --- a/kstyle/breezepalettehelper.cpp +++ b/kstyle/breezepalettehelper.cpp @@ -44,7 +44,7 @@ namespace Breeze //_____________________________________________________ PaletteHelper::~PaletteHelper() - { _widget->deleteLater(); } + { if( _widget ) _widget->deleteLater(); } //_____________________________________________________ -- 2.3.0 -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
