emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New Lucid menus


From: Jan Djärv
Subject: Re: New Lucid menus
Date: Sat, 17 Apr 2010 20:29:30 +0200
User-agent: Thunderbird 2.0.0.24 (X11/20100411)

Stefan Monnier skrev:
I really like the antialiased fonts in the Lucid menus, but the code
still has some problems:
- emacs -Q followed by C-mouse-3 gets us straight to a segfault because
  of a "childs[0] = 0;" where childs has just been initialised to NULL.
  But even after removing this assignment I still get some assertion
  failure:

   % emacs -Q
   C-down-mouse-2
   ...move mouse down through the menu (making the submenus show up) and
   then back up to just above the menu title...
   ...release the mouse-2 button outside the menu

  I then get an assertion failure at insdel.c:2046 because
  "XWINDOW (selected_window)->buffer" doesn't hold a buffer apparently :-(

I can not reprocude this, it must be timing.  Does it happen always?
Do I need ENABLE_CHECKING? I have enable-asserts. I guess this isn't related to menu code, as the menu has popped down and control has been passed back to Emacs core (i.e. insdel.c).


- when I move the mouse through the menubar's submenus, they flicker like
  crazy: they seem to be constantly redrawn.

The code did redraw all menus more or less on every mouse move. This is OK for non-aa fonts as you can use XDrawImageString to make just one call to both clear and draw the text. But for Xft two calls are needed, so flicker is more likely to be seen. In any case, I didn't see it at all, it also depends on how fast your X server and computer is.

I fixed this so a lot fewer calls are made, and the whole menu is updated in one call. It should be impossible to see flicker now (but you never know ... :-).

        Jan D.






reply via email to

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