|
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.
[Prev in Thread] | Current Thread | [Next in Thread] |