Tim Martin wrote:
I had discovered a bug with Quicken 2005 where certain
graphics aren't being drawn on screen, depending on
whether the application is using W98 or W2k
"emulation".
The behavior actually changed (from works in W98 but
broken in W2k to works in W2k but broken in W98) at
some point in time. After some tedius recompiling and
testing (hey, I'm new to wine!) I discovered the
behavior swap was due to a CVS commit to
dlls\user\misc.c on 29 September 2005.
Something to do with the display name being unicode
DISPLAY vs. \\.\DISPLAY1 (which seems to be the first
display name for Windows).
I just sent a proposed patch to fix this bug, but
thought I would also ask on this list to make sure I
haven't done anything stupid (which I probably have).
Basically, there were several files that declare
static constants for a display name - I globally
search & replaced all DISPLAY with \\.\DISPLAY1 where
it seemed to make sense, but hopefully others will
have an opinion here.
I think the attached patch should also fix the problem you are seeing.
I think we need a more tests and a better architecutre architecture
before we should start using \\.\DISPLAY1. I have a hunch, but haven't
tested it, that DISPLAY should still work even on NT.
--
Rob Shearman
Index: dlls/user/misc.c
===================================================================
RCS file: /home/wine/wine/dlls/user/misc.c,v
retrieving revision 1.28
diff -u -p -r1.28 misc.c
--- dlls/user/misc.c 3 Oct 2005 10:17:05 -0000 1.28
+++ dlls/user/misc.c 4 Nov 2005 21:22:52 -0000
@@ -272,7 +272,7 @@ DWORD WINAPI SetLogonNotifyWindow(HWINST
return 1;
}
-static const WCHAR primary_device_name[] = {'\\','\\','.','\\','D','I','S','P','L','A','Y','1',0};
+static const WCHAR primary_device_name[] = {'D','I','S','P','L','A','Y',0};
static const WCHAR primary_device_string[] = {'X','1','1',' ','W','i','n','d','o','w','i','n','g',' ',
'S','y','s','t','e','m',0};