From: Jason W. <jas...@gm...> - 2011-02-28 08:13:43
|
This is set of patches created against the last stable release. A quick glance told me there shouldn't be any conflicts but I'm not sure. menu-behavior - The patch makes menus hidden while their callback executes. If a window is clicked while another menu is open then the old menu disappears AND a new menu appears if the button is bound to a menu. In win32 menus do become the active window when they appear. The changes needed to make that happen in X11 are not there (I do not even know if they are needed). menu-size-glitch - This patch fixes a visual flaw where menus appear before they are resized in the window system, resulting in a momentary glitch. This is a simple "hack" fix that just makes the glitch invisible. A "proper" fix may not be needed if this is acceptable. msvc-runtime-check - If you enable "smaller type check" in MSVC compile options the truncation of wParam during key presses triggers a runtime exception. This is fixed by explicitly anding (&) wParam with 255 before casting to char. win32-check-possible - glutGet(GLUT_DISPLAY_MODE_POSSIBLE) would crash for me if no windows have been created. I may be using the function incorrectly but my code seems identical to others who have not reported this crash. This patch fixes this crash by not relying on there being an existing window to query pixel formats. win32-fullscreen-multimon - going fullscreen would put the window on the monitor that has 0,0 as its origin. This patch makes it so that the monitor that the window has the majority of its area in is the one that it occupies after going fullscreen. This lets me open one fullscreen window on each monitor if I drag each window to that monitor and make them fullscreen there. This is nice for user interaction but if the programmer wishes for each monitor to have a fullscreen window without the user placing them there an extension may be needed. win32-message-pump - Check timers and joysticks between windows messages. This is cheap and seems more correct. win32-set-position - makes glutGet(GLUT_WINDOW_X), glutGet(GLUT_WINDOW_Y) and glutPositionWindow consistent. I use the window's client area coordinates to position the window. This may be wrong. The change was made in positioning the window, but if using client area coordinates is wrong then the change should actually be made to glutGet. I have also included a copy of the full patch. |