http://www.exim.org/mail-archives/exim-users/Week-of-Mon-20030721/msg00141.html
| It's not a compiler bug. It is a C99 bug, or more exactly, a
| feature. C99 changed the semantic of the C language with respect to
| aliasing questions. Now, the compiler can assume that pointer to
| different types points to different memory location. This breaks all
| the OO code written in C.
|
| This is a very good idea that the compiler issues a warning message
| because the semantic of language really changed and you want to revert
| to the old semantic.
|
| The make package MUST add -fno-strict-aliasing. It is not a
| convenience to get rid off warnings.
this requires that when a client is using a 32-bit visual, we have to
make the frame windows that sit underneath it to use the same visual (and a
colormap which matches it)
1. some random compiling/style cleanups
2. some bigfixes
- mislogic in per-window-settings and focusing new windows
- use client_can_focus rather than checking variables for directional focus
- MAYBE fix all those lock-ups forever. using event_curtime (a new variable) now instead of event_lasttime. event_lasttime is still used however when the event being processed did not have a time associated with it. this may or may not be a problem, and will be seen.
3. um.. i forget
4. oh yeah, 3rd party docks are now treated like the internal ob dock irt focus. that is, clicking on them won't pass them focus. this is going to be ratified as expected behavior in the wm-spec just now. if docks/panels want focus they can request it with _net_active_window, and then they can have all the focus they want! one day alt-tabbing around dock windows might be nice. but not until the ob dock is moved out into a separate application. going to have to add a wmapp selection and stuff for that though... ugly. who uses wmdockapps anymore !? someone must.. *sigh*