Combo repaint (Was:KDE 3.1.4)
Maksim Orlovich
mo002j at mail.rochester.edu
Wed Jul 30 17:30:41 BST 2003
On Wed, 30 Jul 2003, Ralf Nolden wrote:
> On Mittwoch, 30. Juli 2003 14:42, Maksim Orlovich wrote:
> > On Wed, 30 Jul 2003, Ralf Nolden wrote:
> > > > Are their known issues? (I know of one toolbar layout fix)
> > >
> > > I encounter repaint errors on combo boxes with keramik on webpages like
> > > www. pro-linux.de, I guess that's one of the style bugs. When you go over
> > > the combo with the mouse, a repaint event gets triggered and the text on
> > > the combo is displayed correctly.
> >
> > What combination of Qt/KDE version?
>
> Qt-3.2.0 from ftp.trolltech.com + KDE 3.1.3 official sourcetarballs -> Woody
> packages on download.kde.org
Hmm. I just realized there was a (un)merge error that affected a
backport of the bugfix for a related bug (I am not sure whether this is
the same bug or not). Can you please try the attached diff?
Alternatively, please tell me where exactly on pro-linux.de you see the
problem.. (keeping in mind that I don't speak German (yes, it happens,
even among KDE people..) )
-Maks
-------------- next part --------------
? changes.diff
? del.diff
? index.html
? ker_combo2.diff
? keramik.j
Index: keramik.cpp
===================================================================
RCS file: /home/kde/kdelibs/kstyles/keramik/keramik.cpp,v
retrieving revision 1.88.2.8
diff -u -3 -p -u -p -r1.88.2.8 keramik.cpp
--- keramik.cpp 7 Jul 2003 08:16:03 -0000 1.88.2.8
+++ keramik.cpp 30 Jul 2003 16:27:40 -0000
@@ -1764,24 +1764,22 @@ void KeramikStyle::drawComplexControl( C
QPainter* p2 = p;
QRect br = r;
+
+ if (widget->parent() &&
+ ( widget->parent()->inherits("QToolBar")|| !qstrcmp(widget->parent()->name(), kdeToolbarWidget) ) )
+ toolbarMode = true;
if (controls == SC_All)
{
- buf = new QPixmap( r.width(), r.height() );
- br.setX(0);
- br.setY(0);
- p2 = new QPainter(buf);
-
- //Double-buffer only when we are in the slower full-blend mode
- if (widget->parent() &&
- ( widget->parent()->inherits("QToolBar")|| !qstrcmp(widget->parent()->name(), kdeToolbarWidget) ) )
- {
- //Ensure that we have clipping on, and have a sane base.
- //If need be, Qt will shrink us to the paint region.
- p->setClipping(true);
- p->setClipRect(r);
- toolbarMode = true;
- }
+ buf = new QPixmap( r.width(), r.height() );
+ br.setX(0);
+ br.setY(0);
+ p2 = new QPainter(buf);
+
+ //Ensure that we have clipping on, and have a sane base.
+ //If need be, Qt will shrink us to the paint region.
+ p->setClipping(true);
+ p->setClipRect(r);
}
More information about the kde-core-devel
mailing list