This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.
The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.
A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
This change should handle the situation where a PointerEntering event is received without a corresponding PointerLeaving event, which appears to be caused by some third-party OS addons. This could cause unexpected consequences, so all such terminations are currently logged.
Add Pointer Entering Window events to wimp_event module and add handlers to all modules requiring mouse tracking.
Updated: Treeview, URL Complete, History and GUI Window.
Delete all handling for Pointer Entering/Leaving from ro_gui.
Add ro_mouse module to process mouse events during drags and on null polls.
Implement support in ro_mouse for tracking the mouse during drags and passing on DragEnd events.
Remove ro_gui_drag_end() and update all of its clients so that they use ro_mouse.
Remove the unused ro_gui_window_frame_resize_end().
Termination of save drags with Escape is unimplemented, but appears broken anyway.
The use of gui_drag_type is still required to handle Message_DatasaveAck processing.
Mouse tracking is still handled via gui.c.