Hi all
I still try to solve the problems I have in window handling. There is a function X11_ShowWindow. First comes a big switch/case of all show commands. Then is the call to SetWindowPos with the new coords. But this newPos is only filled in few cases. So most of the times I end up with a SetWindowPos with coords 0. But still it somehow seems to work so I continued my search.
In SetWindowPos is a call to WIN_SetRectangles with newWindowRect and newClientRect as parameters. But in the end is a message generated WM_WINDOWPOSCHANGED where the old winpos with the 0s inside is given as argument. Shouldn't that be also one of the new rects resp. shouldn't these new coords be set in newpos? I tried it but wine broke off with a stack overflow as I somehow generated a recursive calling. I have a call to ShowWindow in my OnWindowPosChanged handler. This works fine in Windows but wine seems to generate a new message WindowPosChanged what Windows doesn't. The use of ShowWindow in OnWindowPosChanged is maybe questionable but nonetheless it shows that there is something different in wine. Deleting this call to ShowWindow makes it run ok. But I noticed also previously that wine seems to generate more messages than Windows does.
The main reason why I started this exploration is that some of my docked windows didn't show up. Then I found that I always get coords of 0 in my OnWindowPosChanged. So we come back to the above mentioned newPos.
I'm quite new to wine and especially this window handling stuff, but this seems to be the biggest problem to make my app work with wine so I'd really appreciate some hints. If someone knows a book about Windows Messages I'm game.
Thanks for reading :)
bye Fabi