Skip Menu |

This queue is for tickets about the Tk CPAN distribution.

Report information
The Basics
Id: 69269
Status: open
Priority: 0/
Queue: Tk

People
Owner: Nobody in particular
Requestors: info1 [...] wolframhumann.de
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 804.029_500
Fixed in: (no value)



Subject: Reduce flicker in Tk::Notebook
Tk::Notebook::raise() causes unnecessary flicker when switching between notebook pages. This is visible especially if pages look (partially) identical. The flicker is caused by an unconditional MoveResizeWindow(), which could be skipped if the widget's size is unchanged. The following patch tries to check whether or not MoveResizeWindow needs to be called.
Subject: Notebook.pm.patch
--- NoteBook.pm Mon Jul 04 16:46:02 2011 +++ NoteBook_orig.pm Fri Oct 10 23:39:56 2008 @@ -174,7 +174,7 @@ if ($cW > 0 && $cH > 0) { - $childw->MoveResizeWindow($cX, $cY, $cW, $cH) if "${cW}x$cH+$cX+$cY" ne $childw->geometry; + $childw->MoveResizeWindow($cX, $cY, $cW, $cH); $childw->MapWindow; $childw->raise; }
Oops, my "diff" skills are pitiable. I think it has to be the other way round. Hope this is better...
Subject: NoteBook.pm.patch
--- NoteBook_orig.pm 2008-10-10 22:39:56.000000000 +0200 +++ NoteBook.pm 2011-07-04 17:16:16.289942000 +0200 @@ -174,7 +174,7 @@ if ($cW > 0 && $cH > 0) { - $childw->MoveResizeWindow($cX, $cY, $cW, $cH); + $childw->MoveResizeWindow($cX, $cY, $cW, $cH) if "${cW}x$cH+$cX+$cY" ne $childw->geometry; $childw->MapWindow; $childw->raise; }