On Sun, Aug 12, 2012 at 4:23 PM, Ryan Leavengood <leavengood@xxxxxxxxx> wrote: > > I could maybe have used that to drop in my test code, but I still > needed to run BeOS to test its behavior in this case. I'll keep this > idea in mind in case I can never get that BeOS VM online. I did end up mounting the BeOS vmdk image in a Haiku VM and it proved useful to get the test code I was using in BeOS to see how it worked in Haiku. Back to the primary topic of this thread: I have some pending changes which redefine fShowLevel in BWindow to match the show_hide_level in the app_server, where 1 or more is hidden and 0 or less is shown. I also combined the app_server message for Show and Hide to be one message, AS_SHOW_HIDE_WINDOW, and the logic to actually show or hide the window is now in the app_server. I also reworked the minimize handling such that a hidden window can never be minimized and if a minimized window is hidden it is also unminimized. This matches what the BeBook says here: http://www.haiku-os.org/legacy-docs/bebook/BWindow.html#BWindow_Show This differs slightly from what BeOS actually does though, but I think the BeOS behavior is not correct, at least based on what the BeBook says. Also making this change in BWindow matches how the identically named fShowLevel in BView works. Given this I'm surprised it has been backwards for so long ;) I tested my changes pretty thoroughly and they work quite well. If anyone who is paying attention has any reason I should not commit these changes, please say here. I'll probably commit and push them by Wednesday. While all this seems like a lot of time and effort for fairly minor part of Haiku, I think making sure things like this are solid and consistent is worthwhile. Plus I learned a lot about BeOS/Haiku window behavior and our BWindow and app_server code in the process, and that is always useful. -- Regards, Ryan