Bug 4791 - Civ4 crashes because of recent explorer/systray changes

Fabian Bieler der.fabe at gmx.net
Sat Feb 3 16:13:50 CST 2007


Hello!

I tried to look into Bug 4791 (Civ4 crashes because of recent explorer/systray 
changes http://bugs.winehq.org/show_bug.cgi?id=4791 ).

Pretty early during initialization (before the application creates any windows 
itsself) a WM_FONTCHANGE message is broadcasted. The only window to which the 
message gets actually send is the Wine Systray Listener window. The message 
is immediately pulled by peek_message as a MSG_NOTIFY message.

A few seconds later the WM_FONTCHANGE message is pulled from the queue of the 
Wine Systray Listener window again, this time of the type MSG_CALLBACK. the 
callback function pointer is a nullpointer resulting in a pagefault.

If the Wine Desktop window is set as its own parent (like described in the 
bugzilla thread), the WM_FONTCHANGE message does not get send to the window 
and the program starts up fine.

Now, I do not really understand the wine messaging system (particularly the 
difference between notify and callback messages) so I thought maybe somebody 
here could help me with that or point me to some introduction other than 
http://winehq.org/site/docs/winedev-guide/c3762#AEN3825 and message.c.

Should the fontchange-message really be send to the Wine Systray Listener 
window?

All test were run using wine-0.9.30, civ4 v1.61 with nocd-patch and native 
msxml3.

Fabian



More information about the wine-devel mailing list