app_server flag fixes (patch)
|Reported by:||rogueeve||Owned by:||stippi|
Patch candidate for some app_server issues having to do with B_NO_SERVER_SIDE_WINDOW_MODIFIERS, as discussed on the haiku-dev mailing list. The second file is a program that can be used to test the changes. Changeset is:
- Fixed B_NO_SERVER_SIDE_WINDOW_MODIFIERS and B_CLOSE_ON_ESCAPE window flags not working.
- Added B_VALID_WINDOW_FLAGS constant to Window.h and modified app_server's ValidWindowFlags() function, to eliminate the need for a list of flags to be in two places, and possibly avoid the above problem in the future.
- The same method unfortunately would not work for the WINDOW_FEEL and _LOOK constants, because they are not bitflags, so a warning was added to Window.h about the possible need to update app_server if they are changed (a bit of a todo, I guess)
- CTRL+ALT-click "server side window modifiers" now require exactly the CTRL+ALT shortcut to be down; CTRL+ALT+SHIFT for example is not counted.
- CTRL+ALT clicks are ignored and let through to the window if no special action would have been taken anyway; e.g. if the window is not movable.