Re: xfs getting case-insensitive filesystem support...

2008-04-24 Thread Dmitry Timoshkov
Joerg Mayer [EMAIL PROTECTED] wrote:

 On Wed, Apr 23, 2008 at 08:39:40PM -0700, Dan Kegel wrote:
 Hrm.  This is interesting:
   http://lwn.net/Articles/278961/
 I wonder if Wine could run faster if it could delegate
 the case-insensitvity to the filesystem...
 
 Would be nice indeed, but I don't think it will come: Linus shot down
 similar patches in the past because to_lower may be easy to implement
 for ascii, but once you want to implement it for all charsets supported
 by the files system it gets very messy.

Sure, it's messy until the filesystem is unicode internally, and uses
something more reasonable instead of a multibyte UTF-8.

-- 
Dmitry.




Re: xfs getting case-insensitive filesystem support...

2008-04-24 Thread David Laight
On Thu, Apr 24, 2008 at 03:05:51PM +0900, Dmitry Timoshkov wrote:
 Joerg Mayer [EMAIL PROTECTED] wrote:
 
  On Wed, Apr 23, 2008 at 08:39:40PM -0700, Dan Kegel wrote:
  Hrm.  This is interesting:
http://lwn.net/Articles/278961/
  I wonder if Wine could run faster if it could delegate
  the case-insensitvity to the filesystem...
  
  Would be nice indeed, but I don't think it will come: Linus shot down
  similar patches in the past because to_lower may be easy to implement
  for ascii, but once you want to implement it for all charsets supported
  by the files system it gets very messy.
 
 Sure, it's messy until the filesystem is unicode internally, and uses
 something more reasonable instead of a multibyte UTF-8.

Unix filesystems treat filenames as byte-strings, this is 100% reasonable :-)
Any conversion to glygps isn't a filesyatem operation.

David

-- 
David Laight: [EMAIL PROTECTED]




Re: imm32: If ImmNotifyIME fails, ImmSetOpenStatus should also fail.

2008-04-24 Thread ByeongSik Jeon
Kusanagi Kouichi wrote:
  if (!fOpen != !data-IMC.fOpen)
  {
 +if (!ImmNotifyIME( hIMC, NI_CONTEXTUPDATED, 0, IMC_SETOPENSTATUS))
 +return FALSE;
  data-IMC.fOpen = fOpen;
 -ImmNotifyIME( hIMC, NI_CONTEXTUPDATED, 0, IMC_SETOPENSTATUS);
  ImmInternalSendIMENotify(data, IMN_SETSENTENCEMODE, 0);
Hi,

MS Windows's native imm32.dll return TRUE although NotifyIME return
FALSE. I have tested it with the DDK's Japanese FakeIME.





Re: 1.0 idea - ntdll - add a messagebox for missing dlls

2008-04-24 Thread Dan Kegel
On Wed, Apr 23, 2008 at 9:45 PM, Steven Edwards [EMAIL PROTECTED] wrote:
 On Thu, Apr 24, 2008 at 12:33 AM, Steven Edwards [EMAIL PROTECTED] wrote:
Your right, I thought it was loaded yet but I guess it does anytime
user32 is initalized. Looking at the process list after the messagebox
exits only wineserver, services and winedevice stay resident for a
while so I thought it had not loaded yet. I'll see if I can rework it
to send a message to explorer to display the dialog.

  You were right. Looking at it a bit more maybe the best route is to
  add a set of custom messages to user32 and explorer maybe something
  like WM_WINE_DLLNOTFOUND/WM_WINE_MISSINGFUCTION or something and
  manually do the server call using send_message. I am not exactly sure
  how to do it as the actual wineserver call yet. I'll look at it a bit
  more tomorrow and see if I can figure the plumbing out.

Alternately we could cheeze it and exec xmessage :-)




Re: 1.0 idea - ntdll - add a messagebox for missing dlls

2008-04-24 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 On Wed, Apr 23, 2008 at 11:14 PM, Dan Kegel [EMAIL PROTECTED] wrote:
  Why not?   I thought Explorer was the first thing to start up...

 Your right, I thought it was loaded yet but I guess it does anytime
 user32 is initalized. Looking at the process list after the messagebox
 exits only wineserver, services and winedevice stay resident for a
 while so I thought it had not loaded yet. I'll see if I can rework it
 to send a message to explorer to display the dialog.

You certainly don't want to call through explorer for that, showing a
message box directly is fine. You have to be careful to only do it when
loading the main exe, not for any random dll load; also you have to
properly handle the case of a missing X display.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: 1.0 idea - ntdll - add a messagebox for missing dlls

2008-04-24 Thread Dan Kegel
On Thu, Apr 24, 2008 at 2:36 AM, Alexandre Julliard [EMAIL PROTECTED] wrote:
  You certainly don't want to call through explorer for that, showing a
  message box directly is fine.

Well, that's easier :-)

 You have to be careful to only do it when
  loading the main exe, not for any random dll load

Yeah, I guess some apps tolerate missing DLLs by loading them manually.
We'll miss a few problems (e.g. apps that delay-load but can't handle
the missing dll) but that's ok.

 also you have to properly handle the case of a missing X display

right, and just not call MessageBox.

Hmm, ideally we would send them to a web page that gave
information tailored to the dll in question, but a MessageBox is
good enough for 1.0.




Re: 1.0 idea - ntdll - add a messagebox for missing dlls

2008-04-24 Thread Austin English
On Thu, Apr 24, 2008 at 4:50 AM, Dan Kegel [EMAIL PROTECTED] wrote:

 On Thu, Apr 24, 2008 at 2:36 AM, Alexandre Julliard [EMAIL PROTECTED]
 wrote:
   You certainly don't want to call through explorer for that, showing a
   message box directly is fine.

 Well, that's easier :-)

  You have to be careful to only do it when
   loading the main exe, not for any random dll load

 Yeah, I guess some apps tolerate missing DLLs by loading them manually.
 We'll miss a few problems (e.g. apps that delay-load but can't handle
 the missing dll) but that's ok.

  also you have to properly handle the case of a missing X display

 right, and just not call MessageBox.

 Hmm, ideally we would send them to a web page that gave
 information tailored to the dll in question, but a MessageBox is
 good enough for 1.0.


 A link to a wiki page (http://wiki.winehq/MissingDLL ?) with list of
common dlls/where they come from/what they do/how to use winetricks/etc.)
would be a bit easier/quicker to implement.



Re: mshtml #5: Added more IDispatchEx tests.

2008-04-24 Thread Alexandre Julliard
Jacek Caban [EMAIL PROTECTED] writes:

  dlls/mshtml/tests/dom.c |   56
 +++
  1 files changed, 37 insertions(+), 19 deletions(-)

It doesn't work here:

../../../tools/runtest -q -P wine -M mshtml.dll -T ../../.. -p 
mshtml_test.exe.so dom.c  touch dom.ok
dom.c:1381: Test failed: GetTypeInfo failed: 8002802b
dom.c:1394: Test failed: GetTypeInfo failed: 8002802b
make[2]: *** [dom.ok] Error 2

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: [3/4] user32: Set the vkey value to VK_PROCESSKEY when IME process key.

2008-04-24 Thread Aric Stewart
Thank you for these investigations This is really nice. I support those 
patches.

I just wanted to also communicate a bit of additional information from 
my investigations just in case someone asks.  I placed hooks on both 
WH_KEYBOARD_LL and WH_KEYBOARD.  Even when the IME is active both of 
those hooks showed the VKEY of the actual keystroke.

This showed me that all of this processing happened after 
process_keyboard_message.

great work and thanks,
-aric


ByeongSik Jeon wrote:
 When the MS Windows set the vkey value(MSG.wParam) to VK_PROCESSKEY?
 
 I have tested following code:
 
 while ( GetMessage(msg, 0, 0, 0) ) {
 if ( msg.message == WM_KEYDOWN )
 printf(OLD: %x %x %x\n, msg.message, msg.wParam, msg.lParam);
 TranslateMessage( msg );
 if ( msg.message == WM_KEYDOWN )
 printf(NEW: %x %x %x\n, msg.message, msg.wParam, msg.lParam);
 DispatchMessage( msg );
 }
 -
 The result is:
 -
 OLD: 100 e5 130001
 NEW: 100 e5 130001
 OLD: 100 e5 250001
 NEW: 100 e5 250001
 OLD: 100 e5 130001
 NEW: 100 e5 130001
 -
 e5 is VK_PROCESSKEY.
 Before GetMessage, PeekMessage return, msg.wPram ahs seted to VK_PROCESSKEY.
 
 ---
  dlls/user32/message.c |9 +++--
  1 files changed, 7 insertions(+), 2 deletions(-)
 
 
 
 
 




Re: [1/7] D3D9: Make the offscreen format test a bit more tolerant

2008-04-24 Thread H. Verbeet
2008/4/24 Stefan Dösinger [EMAIL PROTECTED]:

FWIW, for my texop test I wrote a function to do this in a generic
way. I'll probably submit that in the next few days.




Re: dinput: Limit number of supported axis and buttons

2008-04-24 Thread Christoph Frick
On Thu, Apr 24, 2008 at 08:06:07AM -0600, Vitaliy Margolen wrote:

 +FIXME(Can't support %d axis. Clamping down to 16\n, 
 newDevice-axes);
   FIXME(Can't support %d axes. Clamping down to 16\n, 
newDevice-axes);

-- 
cu


pgpCuOEwa3C1c.pgp
Description: PGP signature



Re: mshtml #5: Added more IDispatchEx tests.

2008-04-24 Thread Jacek Caban
Alexandre Julliard wrote:
 Jacek Caban [EMAIL PROTECTED] writes:

   
  dlls/mshtml/tests/dom.c |   56
 +++
  1 files changed, 37 insertions(+), 19 deletions(-)
 

 It doesn't work here:

 ../../../tools/runtest -q -P wine -M mshtml.dll -T ../../.. -p 
 mshtml_test.exe.so dom.c  touch dom.ok
 dom.c:1381: Test failed: GetTypeInfo failed: 8002802b
 dom.c:1394: Test failed: GetTypeInfo failed: 8002802b
 make[2]: *** [dom.ok] Error 2

   

mshtml.tlb needs to be rebuilt after mshtml.idl: Added 
DispHTMLUnknownElement declaration. patch. make depend is not enough.

Thanks,
Jacek




Re: winmm/tests: waveOutGetDevCaps called with invalid size

2008-04-24 Thread Peter Åstrand

   There are only two options: only pass the number of bytes requested 
   or return an error for unreasonable sizes.  What is Terminal Server 
   doing?
 
  It's returning an error. 

 And what is the error?  If you know the error code returned, Ill add it 
 to the code so we can end this discussion.

The error is MMSYSERR_INVALPARAM. 

Sure, you can add the error code to the list of accepted return code, but 
I still don't understand the meaning of this test. You are basically 
testing the sound card driver, rather than the winmm subsystem. 


   waveOutGetDevCapsW lets the driver do the copy (just like old versions of
   windows).  The driver should be checking the size and only copying that
   much.
   If it doesn't, then it broken.
 
  Any references for this claim?

 Read the code.

Since we are trying to follow MS, reading the Wine code doesn't really 
give us a hint of what MS considers valid or invalid. 


  You are saying that the driver should only copy that much, but *what*
  should it copy? In other words: If the size doesn't match the size of any
  known structure (WAVEOUTCAPSA/WAVEOUTCAPSW/WAVEOUTCAPS2A/WAVEOUTCAPS2W),
  should the driver then just *assume* some structure? Which one? As far as I
  know, there's no guarantee that, for example, the first sizeof(WAVEOUTCAPSW)
  bytes of WAVEOUTCAPSW are the same as WAVEOUTCAPS2W. 
 

 Again, read the code. WAVEOUTCAPS2 is a superset of WAVEOUTCAPS
 so it doesn't matter when the length is shorter than WAVEOUTCAPS.  The
 drivers only support W so mixing A and W is not an issue.

Are you saying that WODM_GETDEVCAPS messages are always limited to the W 
versions? So, drivers don't need to handle WODM_GETDEVCAPS messages with 
A type structs? I had no idea of that. Any reference for this? 
 

Rgds, 
---
Peter Åstrand   ThinLinc Chief Developer
Cendio AB   http://www.cendio.se
Wallenbergs gata 4
583 30 LinköpingPhone: +46-13-21 46 00


Re: mshtml #5: Added more IDispatchEx tests.

2008-04-24 Thread Alexandre Julliard
Jacek Caban [EMAIL PROTECTED] writes:

 mshtml.tlb needs to be rebuilt after mshtml.idl: Added
 DispHTMLUnknownElement declaration. patch. make depend is not enough.

I see, make depend needs to be fixed. I'll have a look.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: 1.0 idea - ntdll - add a messagebox for missing dlls

2008-04-24 Thread Steven Edwards
On Thu, Apr 24, 2008 at 5:36 AM, Alexandre Julliard [EMAIL PROTECTED] wrote:
  You certainly don't want to call through explorer for that, showing a
  message box directly is fine. You have to be careful to only do it when
  loading the main exe, not for any random dll load; also you have to
  properly handle the case of a missing X display.

OK so is doing this in ntdll even the right case? I don't really see
where to do it only from the main exe. I understand we don't want to
report the error if the application is manually doing a
GetProcAddress/LoadLibrary but again don't really know how to limit
it. Here is my stab #2, it actually returns something sane to the
user.

-- 
Steven Edwards

There is one thing stronger than all the armies in the world, and
that is an idea whose time has come. - Victor Hugo
From a9a763015d9d4738fc9187e6d913d54cd5d6f25f Mon Sep 17 00:00:00 2001
From: Steven Edwards [EMAIL PROTECTED]
Date: Thu, 24 Apr 2008 02:21:08 -0400
Subject: [PATCH] Took a stab at graphically reporting an error when a dll was not found

---
 dlls/ntdll/loader.c |   33 +
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index bb8..4d37e64 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -464,6 +464,32 @@ static FARPROC find_named_export( HMODULE module, const IMAGE_EXPORT_DIRECTORY *
 
 }
 
+FARPROC pMessageBoxW;
+static NTSTATUS report_error()
+{
+NTSTATUS nts,nts2;
+UNICODE_STRING wstr;
+ANSI_STRING str;
+HMODULE hdll;
+WCHAR user32[] = {'u','s','e','r','3','2','.','d','l','l',0};
+
+RtlInitUnicodeString( wstr, user32 );
+nts = LdrLoadDll(0, 0, wstr, hdll);
+if (nts != STATUS_SUCCESS)
+{
+ERR(couldn't load user32 to display error\n);
+return nts;
+}
+
+RtlInitAnsiString( str, MessageBoxW );
+nts2 = LdrGetProcedureAddress( hdll, str, 0, (void**)pMessageBoxW );
+if (nts2 != STATUS_SUCCESS)
+{
+ERR(Couldn't import MessageBoxW\n);
+return nts;
+}
+return nts;
+}
 
 /*
  *		import_dll
@@ -514,8 +540,15 @@ static WINE_MODREF *import_dll( HMODULE module, const IMAGE_IMPORT_DESCRIPTOR *d
 if (status)
 {
 if (status == STATUS_DLL_NOT_FOUND)
+{
+WCHAR dll_error[] = {'A',' ','r','e','q','i','u','r','e','d',' ','d','l','l',' ','w','a','s',' ','n','o','t',' ','f','o','u','n','d',0};
+NTSTATUS nts = report_error();
+if (nts == STATUS_SUCCESS)
+pMessageBoxW(NULL,dll_error,NULL,NULL);
+
 ERR(Library %s (which is needed by %s) not found\n,
 name, debugstr_w(current_modref-ldr.FullDllName.Buffer));
+}
 else
 ERR(Loading library %s (which is needed by %s) failed (error %x).\n,
 name, debugstr_w(current_modref-ldr.FullDllName.Buffer), status);
-- 
1.5.3.7




Re: dinput: Limit number of supported axis and buttons

2008-04-24 Thread Vitaliy Margolen
Christoph Frick wrote:
 On Thu, Apr 24, 2008 at 08:06:07AM -0600, Vitaliy Margolen wrote:
 
 +FIXME(Can't support %d axis. Clamping down to 16\n, 
 newDevice-axes);
FIXME(Can't support %d axes. Clamping down to 16\n, 
 newDevice-axes);
 

Thanks for catching it. Fixed patch resent.

Vitaliy




Re: 1.0 idea - ntdll - add a messagebox for missing dlls

2008-04-24 Thread Alexandre Julliard
Steven Edwards [EMAIL PROTECTED] writes:

 On Thu, Apr 24, 2008 at 5:36 AM, Alexandre Julliard [EMAIL PROTECTED] wrote:
  You certainly don't want to call through explorer for that, showing a
  message box directly is fine. You have to be careful to only do it when
  loading the main exe, not for any random dll load; also you have to
  properly handle the case of a missing X display.

 OK so is doing this in ntdll even the right case? I don't really see
 where to do it only from the main exe.

It depends which cases you are trying to catch, but for the case of
users starting an app from their desktop, you could probably do it in
start.exe.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: SOC 2008 Projects Announced

2008-04-24 Thread RazZziel
  Could the students come forward and say something about themself?

Hi there

I'm from Spain and I'm supposed to hack DirectPlay support up until
wine can fully run at least GTA2 multiplayer out of the box, but I
hope to have time enough to give some love to other dplay games. I'll
try not to have too much fun in the testing phases, I promise :)

I still have to get some exams done before embracing the sleepless
nights of passionate coding (and/or swearing against msdn), but things
are going faster than expected and I hopefully will be free of urgent
duties in two or three weeks.

Hope not to break anything
Over and out
   Ismael




Re: dinput: Limit number of supported axis and buttons [try 2]

2008-04-24 Thread Christoph Frick
On Thu, Apr 24, 2008 at 09:04:11AM -0600, Vitaliy Margolen wrote:

ok, don't beat me on this one (i guess i could have asked this also for
try one):

 +FIXME(Can't support %d axes. Clamping down to 16\n, 
 newDevice-axes);
 ...
 +WARN(Can't support %d buttons. Clamping down to 128\n, 
 newDevice-buttons);

why is axes a FIXME and buttons a WARN?

-- 
cu


pgp3Au79OUy5f.pgp
Description: PGP signature



Call for testers

2008-04-24 Thread Eric Pouech
Has you may have seen, a new rendering interface is now available for 
Winhelp
It should be better (with the last row of patches) than the old one, but 
still not perfect
And likely not bug free, hence the call for testers

I'm waiting for some real feedback from real users about reading your 
old .hlp files
The new rendering is turned on by setting the env variable 
WINHELP_RICHEDIT to 1

A+

-- 
Eric Pouech
The problem with designing something completely foolproof is to underestimate 
the ingenuity of a complete idiot. (Douglas Adams)






Re: [PATCH 06/12] widl: Create a statement object for import statements.

2008-04-24 Thread Alexandre Julliard
Robert Shearman [EMAIL PROTECTED] writes:

 Move the writing of include directives into the generated header into
 header.c.

This one doesn't work right, it doesn't output the #include statements
so the resulting .h files don't compile.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: dnghelp : Fix pointer cast.

2008-04-24 Thread Erik de Castro Lopo
Erik de Castro Lopo wrote:

 
 Make the pointer cast safe for Wine64.

Please disregard this one as there is a better patch on the
way.

Cheers,
Erik
-- 
-
Erik de Castro Lopo
-
Within C++, there is a much smaller and cleaner language struggling
to get out. -- Bjarne Stroustrup




Re: dinput: Limit number of supported axis and buttons [try 2]

2008-04-24 Thread Vitaliy Margolen
Christoph Frick wrote:
 On Thu, Apr 24, 2008 at 09:04:11AM -0600, Vitaliy Margolen wrote:
 
 ok, don't beat me on this one (i guess i could have asked this also for
 try one):
 
 +FIXME(Can't support %d axes. Clamping down to 16\n, 
 newDevice-axes);
 ...
 +WARN(Can't support %d buttons. Clamping down to 128\n, 
 newDevice-buttons);
 
 why is axes a FIXME and buttons a WARN?
 
Because default joystick data format supports up to 128 buttons. So even if 
Wine would be using custom data format most programs probably won't be able 
to use all of the buttons.

At the same time there are number of extra axes left in the data format that 
Wine is not using.

So in short - there is something that can be done to support more axes but 
not much about buttons.

PS. I'd like to see a joystick with more then 128 buttons...

Vitaliy.




Safedisc for 1.0+ ?

2008-04-24 Thread TheBlunderbuss




    It has just occurred to me that safedisc
copy protection (bug 219!) wasn't put on the Wine 1.0 task list. It's a
pretty major bug and covers a wide range of programs, with a wide range
of safedisc versions.
Considering this, how should we plan for this implementation?







Re: Wine t-shirts?

2008-04-24 Thread James McKenzie
Jeremy White wrote:
 http://kegel.com/wine/wine-penguin-corkscrew.png
 

 Jon Parshall is proud of his ability to draw those penguins,
 and we'd gladly send that artwork to anyone that wanted to make a T-shirt.

 Note, though, that we felt we had to (very sadly) drop the penguin; it doesn't
 really work for Mac users.

   
Why not?  There is always Yellow Dog and several Linux variants for the 
Mac.

And I'm always for support the 'quin and have been before Slack 1.0 
(yes, I'm older than dirt and proud of it!)

(And I remember Wine, a long, long time ago in a galaxy far, far away 
(think Far East))

At one time I was a supporter and tester for Project Odin and its 
predecessors.

James McKenzie





Re: Safedisc for 1.0+ ?

2008-04-24 Thread Vitaliy Margolen
TheBlunderbuss wrote:
 It has just occurred to me that safedisc copy protection (bug 219!) 
 wasn't put on the Wine 1.0 task list. It's a pretty major bug and covers 
 a wide range of programs, with a wide range of safedisc versions.
 Considering this, how should we plan for this implementation?
 
Some versions should work. Newer versions mos likely won't. But as usual in 
these cases your mileage may vary. Since there are so many variables.

Setting target for such bugs to 1.0 won't magically fix them. Nor will it 
keep them from breaking.

Vitaliy.




Re: user32 : Temporarily disable test for _WIN64.

2008-04-24 Thread Dmitry Timoshkov
Erik de Castro Lopo [EMAIL PROTECTED] wrote:

 The file dlls/user32/tests/edit.c currently doesn't compile when
 configured with --enable-win64 because GWL_WNDPROC (in include/winuser.h)
 is not defined when _WIN64 is defined.

Then you need to fix the test instead of disabling it.

-- 
Dmitry.




Re: shel32/tests : Use LOWORD to extract rc from pointer.

2008-04-24 Thread Dmitry Timoshkov
Erik de Castro Lopo [EMAIL PROTECTED] wrote:

 -rc=(int)ShellExecute(NULL, operation, file, parameters, directory,
 - SW_SHOWNORMAL);
 +rc=LOWORD(ShellExecute(NULL, operation, file, parameters, directory,
 + SW_SHOWNORMAL));
  
  if (rc  32)
  {
 @@ -167,7 +167,7 @@ static int shell_execute_ex(DWORD mask, LPCSTR operation, 
 LPCSTR file,
  DeleteFile(child_file);
  SetLastError(0xcafebabe);
  success=ShellExecuteEx(sei);
 -rc=(int)sei.hInstApp;
 +rc=LOWORD(sei.hInstApp);
  ok((success  rc  32) || (!success  rc = 32),
 %s rc=%d and hInstApp=%d is not allowed\n, shell_call, success, rc);
  
 @@ -836,24 +836,24 @@ static void test_find_executable(void)
  /* Don't test FindExecutable(..., NULL), it always crashes */
  
  strcpy(command, your word);
 -rc=(int)FindExecutableA(NULL, NULL, command);
 +rc=LOWORD(FindExecutableA(NULL, NULL, command));
  ok(rc == SE_ERR_FNF || rc  32 /* nt4 */, FindExecutable(NULL) returned 
 %d\n, rc);

You need to change the type of rc to HINSTANCE and fix the comparisons instead.
What happens if the returned HINSTANCE has a value = 32 in its low word?

-- 
Dmitry.




Re: user32 : Temporarily disable test for _WIN64.

2008-04-24 Thread Erik de Castro Lopo
Dmitry Timoshkov wrote:

 Erik de Castro Lopo [EMAIL PROTECTED] wrote:
 
  The file dlls/user32/tests/edit.c currently doesn't compile when
  configured with --enable-win64 because GWL_WNDPROC (in include/winuser.h)
  is not defined when _WIN64 is defined.
 
 Then you need to fix the test instead of disabling it.

In include/winuser.h we have:

#if !defined _WIN64  !defined __WINESRC__
# define GWL_USERDATA(-21)
# define GWL_ID  (-12)
# define GWL_HWNDPARENT  (-8)
# define GWL_HINSTANCE   (-6)
# define GWL_WNDPROC (-4)
# define DWL_MSGRESULT   0
# define DWL_DLGPROC 4
# define DWL_USER8
#endif /* _WIN64  __WINESRC__ */

which means fixing the test requires first finding out the correct
values of these defines under _WIN64. That seems a waste of effort
when I'm aiming to get the simplest of WIN64 apps running, like
a Hello world program that prints to stdout.

Secondly, being unable to compile wine configured with --enable-win64
because of a test for code that has zero percent chance of being
correct anyway seems counter productive.

Erik
-- 
-
Erik de Castro Lopo
-
Seen on comp.lang.python:
Q : If someone has the code in python for a buffer overflow,
please post it.
A : Python does not support buffer overflows, sorry.




Re: Add an include/config.h variable WINE_IS_WIN64 which is 1 whenconfigured with --enable-win64 and 0 otherwise.

2008-04-24 Thread Dmitry Timoshkov
Erik de Castro Lopo [EMAIL PROTECTED] wrote:

 Add an include/config.h variable WINE_IS_WIN64 which is 1 whenconfigured with 
 --enable-win64 and 0 otherwise.

It would be helpful to at least provide an explanation why yo need
this, and why _WIN64 macro is not enough.

-- 
Dmitry.




Re: ntdll : Do not error out on AMD-64 architecture when compiling win64.

2008-04-24 Thread Dmitry Timoshkov
Erik de Castro Lopo [EMAIL PROTECTED] wrote:

 +#if WINE_IS_WIN64
 +if (nt-FileHeader.Machine == IMAGE_FILE_MACHINE_AMD64)
 +MESSAGE(Support for AMD-64 architecture in progress but not yet 
 working\n);
 +else
 +#endif

What's the point of this?

-- 
Dmitry.




Re: Wine t-shirts?

2008-04-24 Thread Dan Kegel
James McKenzie [EMAIL PROTECTED] wrote:
  At one time I was a supporter and tester for Project Odin and its
 predecessors.

Wow.

I gave up on OS/2 Warp right from the git-go,
when they shipped me 30 floppies instead of a cd-rom.
I really wanted Microsoft to have competition, but
I just couldn't bear the thought of going through a
30 floppy install!
- Dan




Re: ntdll : Do not error out on AMD-64 architecture when compiling win64.

2008-04-24 Thread Erik de Castro Lopo
Dmitry Timoshkov wrote:

 Erik de Castro Lopo [EMAIL PROTECTED] wrote:
 
  +#if WINE_IS_WIN64
  +if (nt-FileHeader.Machine == IMAGE_FILE_MACHINE_AMD64)
  +MESSAGE(Support for AMD-64 architecture in progress but not yet 
  working\n);
  +else
  +#endif
 
 What's the point of this?

At the moment trying to get wine to execute a win64 binary fails
if

nt-FileHeader.Machine != IMAGE_FILE_MACHINE_I386

This patch along with the last one which added WINE_IS_WIN64 allows
an attempt to be made to execute a WIN64 binary.

Erik
-- 
-
Erik de Castro Lopo
-
C++: The power, elegance and simplicity of a hand grenade.




Re: user32 : Temporarily disable test for _WIN64.

2008-04-24 Thread Dmitry Timoshkov
Erik de Castro Lopo [EMAIL PROTECTED] wrote:

 In include/winuser.h we have:
 
#if !defined _WIN64  !defined __WINESRC__
# define GWL_USERDATA(-21)
# define GWL_ID  (-12)
# define GWL_HWNDPARENT  (-8)
# define GWL_HINSTANCE   (-6)
# define GWL_WNDPROC (-4)
# define DWL_MSGRESULT   0
# define DWL_DLGPROC 4
# define DWL_USER8
#endif /* _WIN64  __WINESRC__ */
 
 which means fixing the test requires first finding out the correct
 values of these defines under _WIN64.

winuser.h already has the correct values for _WIN64.

 That seems a waste of effort
 when I'm aiming to get the simplest of WIN64 apps running, like
 a Hello world program that prints to stdout.

I assume that you have all other problems sorted out? (compiler support,
TLS layout, calling conventions, other ABI incompatibilities).

 Secondly, being unable to compile wine configured with --enable-win64
 because of a test for code that has zero percent chance of being
 correct anyway seems counter productive.

It's counter productive to start fighting without investigating the subject
first.

-- 
Dmitry.




Re: Add an include/config.h variable WINE_IS_WIN64 which is 1 whenconfigured with --enable-win64 and 0 otherwise.

2008-04-24 Thread Erik de Castro Lopo
Dmitry Timoshkov wrote:

 Erik de Castro Lopo [EMAIL PROTECTED] wrote:
 
  Add an include/config.h variable WINE_IS_WIN64 which is 1 when
  configured with --enable-win64 and 0 otherwise.
 
 It would be helpful to at least provide an explanation why yo need
 this, and why _WIN64 macro is not enough.

You are right, _WIN64 is sufficient.

Erik
-- 
-
Erik de Castro Lopo
-
A good debugger is no substitute for a good test suite.




make test - only four tests failing!

2008-04-24 Thread Dan Kegel
make test is pretty darn close to passing;
only four tests left to fix.  (Oddly, different
sets fail depending on display mode.)
Details at the end of
http://bugs.winehq.org/show_bug.cgi?id=9916

Let's get these fixed before code freeze!




Re: make test - only four tests failing!

2008-04-24 Thread James Hawkins
On Thu, Apr 24, 2008 at 11:50 PM, Dan Kegel [EMAIL PROTECTED] wrote:
 make test is pretty darn close to passing;
  only four tests left to fix.  (Oddly, different
  sets fail depending on display mode.)
  Details at the end of
  http://bugs.winehq.org/show_bug.cgi?id=9916

  Let's get these fixed before code freeze!


Yours is one of the lucky machines.  According to test.winehq.org, the
average number of wine module failures is 11.

-- 
James Hawkins




Re: user32 : Temporarily disable test for _WIN64.

2008-04-24 Thread Erik de Castro Lopo
Dmitry Timoshkov wrote:

 Erik de Castro Lopo [EMAIL PROTECTED] wrote:
 
  In include/winuser.h we have:
  
 #if !defined _WIN64  !defined __WINESRC__
 # define GWL_USERDATA(-21)
 # define GWL_ID  (-12)
 # define GWL_HWNDPARENT  (-8)
 # define GWL_HINSTANCE   (-6)
 # define GWL_WNDPROC (-4)
 # define DWL_MSGRESULT   0
 # define DWL_DLGPROC 4
 # define DWL_USER8
 #endif /* _WIN64  __WINESRC__ */
  
  which means fixing the test requires first finding out the correct
  values of these defines under _WIN64.
 
 winuser.h already has the correct values for _WIN64.

I has _WIN64, but if _WIN64 is defined then GWL_WNDPROC is undefined
and the test in dlls/user32/tests/edit.c fails to compile.

 I assume that you have all other problems sorted out? (compiler support,
 TLS layout, calling conventions, other ABI incompatibilities).

I'm sure I haven't, but if the wine code doesn't compile I can't
debug any problems in these areas.

Erik
-- 
-
Erik de Castro Lopo
-
In civilian equipment, such as computers, the number
of components alone makes miniaturization essential if
the computer is to be housed in a reasonable-sized
building. Electronics Oct. 1, 1957, p. 178




Re: user32 : Temporarily disable test for _WIN64.

2008-04-24 Thread Dmitry Timoshkov
Erik de Castro Lopo [EMAIL PROTECTED] wrote:

 I has _WIN64, but if _WIN64 is defined then GWL_WNDPROC is undefined
 and the test in dlls/user32/tests/edit.c fails to compile.

I'll let you figure this out on your own, that's a helpful thing to learn.

 I assume that you have all other problems sorted out? (compiler support,
 TLS layout, calling conventions, other ABI incompatibilities).
 
 I'm sure I haven't, but if the wine code doesn't compile I can't
 debug any problems in these areas.

user32 is not required for a simple Hello World app, isn't it?

-- 
Dmitry.




Re: [PATCH] advapi32: add more checks in CRYPT_CreateMachineGuid.

2008-04-24 Thread Dmitry Timoshkov
Lei Zhang [EMAIL PROTECTED] wrote:

 I'm getting a crash in CRYPT_CreateMachineGuid() with native
 rpcrt4.dll. This adds some checks to work around it.

I assume that native == win9x in this case.

  pRpcStringFree = GetProcAddress(lib, RpcStringFreeW);
 +if (!pUuidCreate || !pUuidToString || !pRpcStringFree) goto 
 CreateMachineGuidCleaup;

It would be better to use A versions of APIs then instead of failing,

-- 
Dmitry.




Re: [PATCH] advapi32: add more checks in CRYPT_CreateMachineGuid.

2008-04-24 Thread Lei Zhang
On Thu, Apr 24, 2008 at 10:42 PM, Dmitry Timoshkov
[EMAIL PROTECTED] wrote:
 Lei Zhang [EMAIL PROTECTED] wrote:


  I'm getting a crash in CRYPT_CreateMachineGuid() with native
  rpcrt4.dll. This adds some checks to work around it.
 

  I assume that native == win9x in this case.


  pRpcStringFree = GetProcAddress(lib, RpcStringFreeW);
  +if (!pUuidCreate || !pUuidToString || !pRpcStringFree) goto
 CreateMachineGuidCleaup;
 

  It would be better to use A versions of APIs then instead of failing,

  --
  Dmitry.


Right, native == win9x here. The GetProcAddress call actually
succeeds, but then pUuidToString returns RPC_S_CANNOT_SUPPORT.

I'll send a better patch out tomorrow.