emacs-pretest-bug
[Top][All Lists]
Advanced

[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: Katsumi Yamaoka
Subject: Re: (setq tool-bar-button-margin 0) makes GTK Emacs go crazy
Date: Fri, 02 Feb 2007 21:04:55 +0900
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.93 (gnu/linux)

Hi,

Thank you very much for investigating this.

>>>>> In <address@hidden> Jan Djärv wrote:

>> Katsumi Yamaoka skrev:

>>> 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.)

(I've fixed emacs-w3m so that it may necessarily select the frame
when changing the value of `tool-bar-button-margin'.  Now the
frame flickers not so much.  If you have an interest in it, you
can download the latest snapshot from:

http://cvs.namazu.org/emacs-w3m.tar.gz?view=tar

The code in question is in the defcustom form of
`w3m-toolbar-configurations' defined in w3m-e21.el and w3m-e23.el.)

>>> --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.

I'm not quite sure the frame local variables is really useful.
For Gnus running with XEmacs, the tool bar position can be
chosen from `top', `bottom', `right', and `left'.  Even in that
case, I made the tool bar spec have different value per buffer.

Best regards,

P.S. I'm sorry I will not be active in the net in weekends.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]