[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: (setq tool-bar-button-margin 0) makes GTK Emacs go crazy
From: |
Jan Djärv |
Subject: |
Re: (setq tool-bar-button-margin 0) makes GTK Emacs go crazy |
Date: |
Fri, 02 Feb 2007 11:54:12 +0100 |
User-agent: |
Thunderbird 1.5.0.9 (X11/20070103) |
Jan Djärv skrev:
> Katsumi Yamaoka skrev:
>>>>>>> In <address@hidden> Katsumi Yamaoka wrote:
>>> Oops. Now I don't see the tool bar flickering, and all seem to be
>>> going well. I will report if I find the condition to reproduce it.
>> I found. I attached two Lisp forms below. To reproduce it,
>> eval the form1 first and eval the form2 several times. (I've
>> made a similar code in the emacs-w3m CVS, however I might have
>> to delete it.)
>>
>> --8<---------------cut here---------------start------------->8---
>> ;; form1
>> (let ((buf (get-buffer-create "*testing*"))
>> (cur (selected-frame)))
>> (select-frame (make-frame))
>> (switch-to-buffer buf)
>> (make-local-variable 'tool-bar-button-margin)
>> (select-frame-set-input-focus cur))
>>
>> ;; form2
>> (with-current-buffer "*testing*"
>> (setq tool-bar-button-margin (random 10)))
>> --8<---------------cut here---------------end--------------->8---
>>
>> This is a special case anyway, so I don't mind even though it is
>> not fixed.
>
> It seems that wen random returns 4 or less (i.e. Gtk+ margin 0) I get no
> flickering. But everything above 4 gives some flickering. I'll see if I can
> find it. It might not make it to the release though.
>
It seems as update_frame_tool_bar is called several times with different
buffers. So for example, the minibuffer still has margin 0, but your other
buffer has (say) 5. Then the redraw flickers between 5 and 0 for a while.
You really need frame local variables here.
Jan D.