|
From: | Jan Djärv |
Subject: | Re: Gtk tabs in emacs, new branch. |
Date: | Tue, 13 Apr 2010 08:29:43 +0200 |
User-agent: | Thunderbird 2.0.0.24 (X11/20100411) |
Stephen J. Turnbull skrev:
So far the only interesting argument I've seen against a general callback implementation supporting any and all of the above, as well as others my marginal imagination is insufficient to contain, is Jan's claim that it results in flashing and a race condition.
There is flashing just by restoring window configurations as well, we really should have double buffering here. I've introduced the purposed zero sized subwidgets to tabs so the tabs don't switch content at once. This reduces flashing, but just to the same level as restoring window configurations.
In the ten years that we've had the tab control, I can't recall a bug that was diagnosed as a race condition in the tab control. So maybe that's a problem for GTK builds, but GTK getting in the way of the app's design is nothing new.
The race condition has more to do with Emacs event design (i.e. content change => Gtk callback => elisp event => elisp function => switch windows => redisplay). I removed that by saving and restoring window configurations in the Gtk callback and cut out the whole elisp part. The zero sized subwidgets will fix that also, as content change no longer happens.
Jan D.
[Prev in Thread] | Current Thread | [Next in Thread] |