[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