[Oxygen] [Bug 403978] oxygen theme incompatible with qt5 5.12.1-1 libs

Benjamin Robin bugzilla_noreply at kde.org
Sat Feb 23 14:05:27 GMT 2019


https://bugs.kde.org/show_bug.cgi?id=403978

--- Comment #17 from Benjamin Robin <benjarobin+kde at gmail.com> ---
I suggest the following patch, maybe this is not the proper fix (it's hide the
problem), but it makes the code more robust:

--- framesvgitem.cpp.orig       2019-02-03 01:05:33.000000000 +0100
+++ framesvgitem.cpp    2019-02-23 14:54:56.000000000 +0100
@@ -558,7 +558,7 @@

         if (m_sizeChanged) {
             FrameNode* frameNode = static_cast<FrameNode*>(oldNode);
-            QSize frameSize(width(), height());
+            QSize frameSize(int(qMax(width(), 0.0)), int(qMax(height(),
0.0)));
             QRect geometry = frameNode->contentsRect(frameSize);
             QSGNode *node = oldNode->firstChild();
             while (node) {
@@ -581,7 +581,7 @@
         if ((m_textureChanged || m_sizeChanged) ||
textureNode->texture()->textureSize() != m_frameSvg->size()) {
             QImage image = m_frameSvg->framePixmap().toImage();
             textureNode->setTexture(s_cache->loadTexture(window(), image));
-            textureNode->setRect(0, 0, width(), height());
+            textureNode->setRect(0, 0, qMax(width(), 0.0), qMax(height(),
0.0));

             m_textureChanged = false;
             m_sizeChanged = false;
@@ -603,7 +603,7 @@
     CheckMarginsChange checkFixedMargins(m_fixedMargins);

     QQuickItem::componentComplete();
-    m_frameSvg->resizeFrame(QSize(width(), height()));
+    m_frameSvg->resizeFrame(QSizeF(width(), height()));
     m_frameSvg->setRepaintBlocked(false);
     m_textureChanged = true;
 }

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Unassigned-bugs mailing list