[Konsole-devel] Bug#35081: Konsole's transparent background wrong after first start
Ingo Klöcker
ingo.kloecker at epost.de
Wed Mar 13 22:41:02 UTC 2002
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I tracked the bug down but I don't know how to fix it. For a nice
screenshot which demonstrates this bug have a look at
http://www.matha.rwth-aachen.de/~ingo/konsole_after_kde-start_tiled_wallpaper.jpg
and
http://www.matha.rwth-aachen.de/~ingo/konsole_after_kde-start_vertical_gradient.jpg
If Konsole is started for the first time after KDE was started (or if
Konsole is started by session management) then this bug occurs. If it's
started for the second, third, ..., time the bug is visible for a split
second but then the background is redrawn correctly.
As you can see this bug should definitely be fixed before KDE 3.0.
Analysis of the bug:
In Konsole::Konsole we have the following:
====
te = new TEWidget(this);
te->setMinimumSize(150,70);
te->setFocus();
// Transparency handler
rootxpm = new KRootPixmap(te);
====
and in Konsole::readProperties(KConfig* config) we have:
====
rootxpm->setFadeEffect(sch->tr_x(), QColor(sch->tr_r(),
sch->tr_g(), sch->tr_b()));
rootxpm->start();
rootxpm->repaint(true);
====
The problem now is that the te widget only has the minimum size (150x70)
when rootxpm->repaint(true) is called. Therefore the root pixmap which
is loaded is way to small and this causes this ugly drawing bug.
The solution would probably be to delay the call to
rootxpm->repaint(true) until the te widget has been resized to the
correct size. But I don't know how to do this in a clean way.
Regards,
Ingo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE8j9WGGnR+RTDgudgRAmzbAJ4x3x7US2x91qkZgXjZaTdg4eBqGQCeI3Zn
b0Q0PbvBAd+Kmie5tCdy67w=
=RiDi
-----END PGP SIGNATURE-----
More information about the konsole-devel
mailing list