Re: Dereferencing a pointer in winedbg

2005-11-29 Thread Eric POUECH
http://www.winehq.org/hypermail/wine-devel/2005/03/0219.html
(not sure it still applies cleanly, at least some tiny parts are now in CVS tree)A+
> Message du 30/11/05 05:13> De : "Vitaliy Margolen" <[EMAIL PROTECTED]>> A : "Eric Pouech" <[EMAIL PROTECTED]>> Copie à : wine-devel@winehq.org> Objet : Re: Dereferencing a pointer in winedbg> > Monday, November 28, 2005, 2:33:35 PM, Eric Pouech wrote:> > Vitaliy Margolen wrote:> >> Sunday, November 27, 2005, 10:50:39 PM, Marcus Meissner wrote:> >> > >>>On Sun, Nov 27, 2005 at 06:35:15PM -0700, Vitaliy Margolen wrote:>  Is it possible to dereference a pointer in winedbg? Help says that> "*$eax" is a valid _expression_. But when I'm trying to use it it saying:> Wine-dbg>p *$eax> No type or type mismatch> > Is there are a way to do this?>  >>>(x aka examine memory)>  >>>x $eax>  >>>Ciao, Marcus> >> > >> > >> Well I need to add that to display. Something like: display/x *$eax> >> Doing x $eax and then x 100s times kind of hard.> > > display /x means (in gdb) formatting differently the output, not > > dereferencing the (so called) pointer (display is a repeated 'p' > > command, not a 'x' one).> Yes I know. I meant /x for hex not decimal.> > > what you'd need is support for type casts and use something like:> > display *(int*)$eax> Yes correct. That's exactly what I need.> > > I sent a couple of months ago a patch for winedbg that (partly) > > implemented the support for typecasts in wine. You should look for it.> Could you please point me to it? I've spent last hour or so trying to> find it.> > Vitaliy.> > > > > > > > > 


Re: [wined3d] update hw support

2005-11-29 Thread Marcus Meissner
On Wed, Nov 30, 2005 at 07:56:54AM +0100, Roderick Colenbrander wrote:
> The way I would recommend for pci bus scanning is to parse
> /proc/bus/pci/devices the only problem is that this is linux specific.
> Something similar can be done on other OSes though. Another way which is
> more portable is to use libpci but it isn't installed on all systems. Guess
> something like this would need to be added to some 'kernel' dll...

Better use libsysfs or /sys/ directly if you do that.

Ciao, Marcus




Re: [wined3d] update hw support

2005-11-29 Thread Roderick Colenbrander
The way I would recommend for pci bus scanning is to parse
/proc/bus/pci/devices the only problem is that this is linux specific.
Something similar can be done on other OSes though. Another way which is
more portable is to use libpci but it isn't installed on all systems. Guess
something like this would need to be added to some 'kernel' dll...

Roderick

> 
> PS: if one of you know a way to implement pci bus scanning on wine i'll be
> happy
> 

-- 
10 GB Mailbox, 100 FreeSMS/Monat http://www.gmx.net/de/go/topmail
+++ GMX - die erste Adresse für Mail, Message, More +++




riched20: register ListBox & ComboBox classes

2005-11-29 Thread Cihan Altinay
Hi,

> This patch partially implements the undocumented REExtendedRegisterClass()
> function by registering the two missing classes. That way MS Office 2003 and
> probably other programs that rely on these classes display dialogs
> completely which were empty before.
> 
> Changelog:
> Cihan Altinay <[EMAIL PROTECTED]>
> Partially implement REExtendedRegisterClass() to register missing window
> classes so that applications relying on them don't get confused.
> 

It seems this patch was ignored and I would appreciate some comments because
I haven't done much wine development yet (and probably made a lot of mistakes).
Basically, I did some reverse engineering to see what is going on under Windows
and implemented the (de)registration of the two classes accordingly. The effect
of the patch can be seen in the attached screenshots which is the Options
dialog of MS PowerPoint 2003.
I agree that a patch that makes the controls actually work would be better :-)

Cheers,
Cihan


dlg_after_patch.png
Description: PNG image


dlg_before_patch.png
Description: PNG image



Re: Dereferencing a pointer in winedbg

2005-11-29 Thread Vitaliy Margolen
Monday, November 28, 2005, 2:33:35 PM, Eric Pouech wrote:
> Vitaliy Margolen wrote:
>> Sunday, November 27, 2005, 10:50:39 PM, Marcus Meissner wrote:
>> 
>>>On Sun, Nov 27, 2005 at 06:35:15PM -0700, Vitaliy Margolen wrote:
>>>
Is it possible to dereference a pointer in winedbg? Help says that
"*$eax" is a valid expression. But when I'm trying to use it it saying:
Wine-dbg>p *$eax
No type or type mismatch

Is there are a way to do this?
>>>
>>>(x aka examine memory)
>>>
>>>x $eax
>>>
>>>Ciao, Marcus
>> 
>> 
>> Well I need to add that to display. Something like: display/x *$eax
>> Doing x $eax and then x  100s times kind of hard.

> display /x means (in gdb) formatting differently the output, not 
> dereferencing the (so called) pointer (display is a repeated 'p' 
> command, not a 'x' one).
Yes I know. I meant /x for hex not decimal.

> what you'd need is support for type casts and use something like:
> display *(int*)$eax
Yes correct. That's exactly what I need.

> I sent a couple of months ago a patch for winedbg that (partly) 
> implemented the support for typecasts in wine. You should look for it.
Could you please point me to it? I've spent last hour or so trying to
find it.

Vitaliy.









Re: Question about X11DRV_ChoosePixelFormatglXChooseFBConfig returns NULL (glError: 0)

2005-11-29 Thread Aric Cyr
Raphael  club-internet.fr> writes:

> 
> On Tuesday 29 November 2005 22:46, L. Lenders wrote:
> > Just for the info: after some digging i found a quick
> > hack to get rid of the error: comment line 208 in
> > dlls/x11drv/opengl.c:
> >
> > //TEST_AND_ADD1(ppfd->dwFlags & PFD_STEREO,
> > GLX_STEREO);
> 
> No, it's not the good way.
> Try my last patch on bug report

I think there is still a problem with your patch Raphael.  I update the bug
report with my observations, but basically it is as follows.  glXChooseVisual
and glXChooseFBConfig differ in the way they set up attribute lists. 
glXChooseFBConfig _requires_ all attributes to be followed by a value, even
booleans.  This implies that TEST_AND_ADD1 should _never_ be used for
glXChooseFBConfig and friends.  The only place it is being used currently is for
GLX_STEREO, which seems to be causing the problems with Doom3.  Changing the
TEST_AND_ADD1 to a TEST_AND_ADD2 should be enough to correct your patch.  Other
than that your patch is definitely an improvement.

Regards,
  Aric





RE: Problem with serial port.

2005-11-29 Thread gslink
Did you check out that flow control is handled correctly from the 
Olivetti printer.  I have had this happen in the past and in every case 
I found that either I was using the wrong flow control or not taking it 
into account.





Re: Implement symbolic link object in wineserver.

2005-11-29 Thread Vitaliy Margolen
Tuesday, November 29, 2005, 4:47:47 PM, Robert Shearman wrote:
> Hi Vitaliy,

> This patch looks pretty good, but needs some finishing touches. Are you
> planning to continue the directory work to get objects to start
> supporting it?
Yes I do. It should be a straight forward for events, sections, mutants,
semaphores and timers. But named pipes, mail slots and winstations with
desktops will have to wait a bit. I'm not sure yet how to properly
separate name spaces (you should not be able to create an event in the
named pipe name space. And wise-versa).

> Vitaliy Margolen wrote:
>>+struct syboliclink *create_syboliclink( struct directory *root, const struct 
>>unicode_str *name,
>>+unsigned int attr, const struct 
>>unicode_str *target )
>>  
>>
> Spelling mistake again. Also, should match whatever name is decided for
> the name of the object.

Damn. How in the world did gcc compiled this then? With so many errors?!
I don't know why didn't I see this before. Of course I will change it to
"symlink".

>>+
>>+/* Global initialization */
>>+void init_syboliclinks(void)
>>+{
>>+}
>>+
>>+void close_syboliclinks(void)
>>+{
>>+}
>>  
>>
> It would probably be nicer to have all of the namespace initialisation
> done in one place, e.g. directory.c
> That would mean exporting the create_symlink function, but then 
> init_symboliclinks and close_symboliclinks would no longer have to be 
> exported.
Yup are you right. Done.

>>+if (req->rootdir && !(root = get_directory_obj(
>>current->process, req->rootdir, 0 )))
>>+return;
>>  
>>
> Does NT really allow you to open a directory without having any specific
> access rights?
Yup. In the tests I'm opening directory with "directory query" rights
only. And it works when I'm using it as the RootDirectory. Even when
creating new objects in it.

Vitaliy









Re: Question about X11DRV_ChoosePixelFormat glXChooseFBConfig returns NULL (glError: 0)

2005-11-29 Thread Raphael
On Tuesday 29 November 2005 22:46, L. Lenders wrote:
> Just for the info: after some digging i found a quick
> hack to get rid of the error: comment line 208 in
> dlls/x11drv/opengl.c:
>
> //TEST_AND_ADD1(ppfd->dwFlags & PFD_STEREO,
> GLX_STEREO);

No, it's not the good way.
Try my last patch on bug report

Regards,
Raphael


pgpFtAtddQWi9.pgp
Description: PGP signature



Question about X11DRV_ChoosePixelFormat glXChooseFBConfig returns NULL (glError: 0)

2005-11-29 Thread L. Lenders
Just for the info: after some digging i found a quick
hack to get rid of the error: comment line 208 in
dlls/x11drv/opengl.c:

//TEST_AND_ADD1(ppfd->dwFlags & PFD_STEREO,
GLX_STEREO);


Somehow setting the PFD_STEREO flag makes doom3 crash
and triggers the error mentioned in the subject.
After commenting line 208 doom3 starts up just fine.
Digging further.  :)
(any help appreciated) Louis



___ 
To help you stay safe and secure online, we've developed the all new Yahoo! 
Security Centre. http://uk.security.yahoo.com




Re: Implement symbolic link object in wineserver.

2005-11-29 Thread Robert Shearman

Hi Vitaliy,

This patch looks pretty good, but needs some finishing touches. Are you 
planning to continue the directory work to get objects to start 
supporting it?


Vitaliy Margolen wrote:


diff --git a/server/object.h b/server/object.h
index 0c2ee1a..1154e0a 100644
--- a/server/object.h
+++ b/server/object.h
@@ -193,6 +193,11 @@ extern obj_handle_t open_object_dir( str
extern void init_directories(void);
extern void close_directories(void);

+/* sybmolic link functions */
+
+extern void init_syboliclinks(void);
+extern void close_syboliclinks(void);
 



Multiple spelling mistakes.


+
/* global variables */

  /* command-line options */
 




diff --git a/server/symlink.c b/server/symlink.c
new file mode 100644
index 000..5a07df3
--- /dev/null
+++ b/server/symlink.c
@@ -0,0 +1,225 @@
+/*
+ * Server-side symbolic link object management
+ *
+ * Copyright (C) 2005 Vitaliy Margolen
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#include "config.h"
+#include "wine/port.h"
+
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "ntstatus.h"
+#define WIN32_NO_STATUS
+#include "winternl.h"
+#include "ddk/wdm.h"
+
+#include "handle.h"
+#include "request.h"
+#include "object.h"
+#include "unicode.h"
+
+struct syboliclink
+{
+struct object  obj;   /* object header */
+struct unicode_str target;/* target of the symlink */
+};
 



Spelling mistake.  In the server the name of the object struct typically 
mirrors the name of the file. So in this case it would be "struct symlink"



+
+static void syboliclink_dump( struct object *obj, int verbose );
+static struct object *symlink_lookup_name( struct object *obj, struct 
unicode_str *name,
+   unsigned int attr );
+static void syboliclink_destroy( struct object *obj );
 



Spelling mistakes and lack of consistency with the naming. They should 
have the name of the object as a prefix: symlink_dump, 
symlink_lookup_name, symlink_destroy.



+struct syboliclink *create_syboliclink( struct directory *root, const struct 
unicode_str *name,
+unsigned int attr, const struct 
unicode_str *target )
 



Spelling mistake again. Also, should match whatever name is decided for 
the name of the object.



+
+/* Global initialization */
+
+static struct syboliclink *link_dosdev, *link_global1, *link_global2, 
*link_local;
+
+void init_syboliclinks(void)
+{
+static const WCHAR dir_globalW[] = {'\\','?','?'};
+static const WCHAR dir_basenamedW[] = 
{'\\','B','a','s','e','N','a','m','e','d','O','b','j','e','c','t','s'};
+static const struct unicode_str dir_global_str = {dir_globalW, 
sizeof(dir_globalW)};
+static const struct unicode_str dir_basenamed_str = {dir_basenamedW, 
sizeof(dir_basenamedW)};
+
+static const WCHAR link_dosdevW[]  = 
{'\\','D','o','s','D','e','v','i','c','e','s'};
+static const WCHAR link_global1W[] = 
{'\\','?','?','\\','G','l','o','b','a','l'};
+static const WCHAR link_global2W[] = 
{'\\','B','a','s','e','N','a','m','e','d','O','b','j','e','c','t','s','\\','G','l','o','b','a','l'};
+static const WCHAR link_localW[]   = 
{'\\','B','a','s','e','N','a','m','e','d','O','b','j','e','c','t','s','\\','L','o','c','a','l'};
+static const struct unicode_str link_dosdev_str = {link_dosdevW, 
sizeof(link_dosdevW)};
+static const struct unicode_str link_global1_str = {link_global1W, 
sizeof(link_global1W)};
+static const struct unicode_str link_global2_str = {link_global2W, 
sizeof(link_global2W)};
+static const struct unicode_str link_local_str = {link_localW, 
sizeof(link_localW)};
+
+link_dosdev  = create_syboliclink( NULL, &link_dosdev_str, 0, 
&dir_global_str );
+link_global1 = create_syboliclink( NULL, &link_global1_str, 0, 
&dir_global_str );
+link_global2 = create_syboliclink( NULL, &link_global2_str, 0, 
&dir_basenamed_str );
+link_local   = create_syboliclink( NULL, &link_local_str, 0, 
&dir_basenamed_str );
+}
+
+void close_syboliclinks(void)
+{
+release_object( link_dosdev );
+release_object( link_global1 );
+release_object( link_global2 );
+release_object( link_local );
+}
 



It would probably be nicer to have all of the namespace initialisation 
done in on

Re: msvcrt incompatibility in Origin 6.0 when saving documents

2005-11-29 Thread Olaf Leidinger
Hello again!

Running Origin6.0 with WINEDEBUG="+snoop,+relay" with and without native 
msvcrt, tailing, cutting and wc-ing and finally diffing the output I found the 
following:

First of all using the native version I get some msvcrt._EH_prolog calls I 
can't find in the builtin version. 

all window-procs have such calls:

native:
ret  kernel32.94() retval=0009 ret=7f6c5a5c
call window proc 0x6c231b81 
(hwnd=0x1003a,msg=wm_settext,wp=,lp=7fadedd4)
call msvcrt._eh_prolog(7f6cf147,0001003a,000c,,7fadedd4 "microcal 
origin - i
ret  msvcrt._eh_prolog() retval=7db10190 ret=6c231b8b
call 
msvcrt._eh_prolog(6c231b9c,6c23b419,6c231b81,6c231b81,7fadf8ec,6c2c2cfe,0009
ret  ntdll.rtlentercriticalsection() retval= ret=7e6563d2
call ntdll.rtlleavecriticalsection(7e69a888) ret=7e656412
ret  ntdll.rtlleavecriticalsection() retval= ret=7e656412
\\mnt\\privat\\origin6\\untitled",7f6ee620,0001003a,000c, ...) ret=6c2310b5
ret  msvcrt._eh_prolog() retval=7db10190 ret=6c2310b5
call kernel32.tlsgetvalue(0003) ret=6c231018
ret  kernel32.tlsgetvalue() retval=7fdd7a88 ret=6c231018
call 
msvcrt._eh_prolog(6c23138a,,6c231be9,0001003a,7fadeba8,6c231bba,0001003a,000c,,7fadedd4
 "microcal origin - i
ret  msvcrt._eh_prolog() retval=7db10190 ret=6c23112a
call kernel32.tlsgetvalue(0003) ret=6c231018
ret  kernel32.tlsgetvalue() retval=7fdd7a88 ret=6c231018
call kernel32.tlsgetvalue(0003) ret=6c231018
ret  kernel32.tlsgetvalue() retval=7fdd7a88 ret=6c231018
call msvcrt._eh_prolog(6c231bfb,7d9366c0,0001003a,000c,,7fadedd4 
"microcal origin - i
ret  msvcrt._eh_prolog() retval=7db10190 ret=6c231c09
call kernel32.tlsgetvalue(0003) ret=6c231018

builtin:
call window proc 0x6c231b81 
(hwnd=0x1003a,msg=wm_settext,wp=,lp=7fadedd4)
call kernel32.tlsgetvalue(0003) ret=6c231018

This is another example not concerting window procs:

native:
call kernel32.lstrlena(7fadecc0 "microcal origin") ret=6c2338d7
ret  kernel32.lstrlena() retval=000f ret=6c2338d7
call 
msvcrt._eh_prolog(6c2319c6,000f,7fadedd0,7fd299fc,6c23393c,000f,000f,7fadedd0,6c2338f9,000f,7fadecc0
 "microcal origin",7fadedd0,6c2338e0,000f,7fadecc0 "microcal 
origin",000f, ...) ret=6c231aeb
ret  msvcrt._eh_prolog() retval=7db101a9 ret=6c231aeb
call ntdll.rtlentercriticalsection(6c300088) ret=6c231b03

same as builtin:
call kernel32.lstrlena(7fadecc0 "microcal origin") ret=6c2338d7
ret  kernel32.lstrlena() retval=000f ret=6c2338d7
call ntdll.rtlentercriticalsection(6c300088) ret=6c231b03

>From mfc there is also such a call:

native:
call mfc42.6374(000c,,7fadedd4 "microcal origin - i
call mfc42.5163(000c,,7fadedd4 "microcal origin - i
call msvcrt._eh_prolog(7db101db,000c,,7fadedd4 "microcal origin - i
ret  msvcrt._eh_prolog() retval=7db101f4 ret=6c231d16
call ntdll.rtlentercriticalsection(6c300220) ret=6c23178e

builtin:
call mfc42.6374(000c,,7fadedd4 "microcal origin - i
call mfc42.5163(000c,,7fadedd4 "microcal origin - i
call ntdll.rtlentercriticalsection(6c300220) ret=6c23178e






Then there is also a difference when calling ftime():




native: (line 16240)
call msvcrt.memcpy(7d945558 "untitled",7fe5e27a "untitled",0008) 
ret=6c233905
ret  msvcrt.memcpy() retval=7d945558 ret=6c233905
ret  mfc42.860() retval=7d943dc0 ret=7f81a080
call outl60.labutil_str2date(,0003,) ret=7f81a0fe
call msvcrt._ftime() ret=7f74100d
call kernel32.getsystemtimeasfiletime(7fadedf0) ret=78026aad
call ntdll.ntquerysystemtime(7fadec80) ret=7fd08e30
ret  kernel32.getsystemtimeasfiletime() retval=01c5f531 ret=78026aad
ret  msvcrt._ftime() retval=438cd1d8 ret=7f74100d
call msvcrt.localtime() ret=7f74103e
call kernel32.getlasterror() ret=78002699
ret  kernel32.getlasterror() retval= ret=78002699
call kernel32.tlsgetvalue(0002) ret=780026a7
ret  kernel32.tlsgetvalue() retval=7d930088 ret=780026a7
call kernel32.setlasterror() ret=780026b8
ret  kernel32.setlasterror() retval= ret=780026b8
ret  msvcrt.localtime() retval=7d9306f8 ret=7f74103e

builtin: (line 16632)
call msvcrt.memcpy(7fe7dff8,7fe637e2,0008) ret=6c233905
ret  msvcrt.memcpy() retval=7fe7dff8 ret=6c233905
ret  mfc42.860() retval=7fe7aac0 ret=7f81a080
call outl60.labutil_str2date(,0003,) ret=7f81a0fe
call msvcrt._ftime(7f75b778) ret=7f74100d
call kernel32.gettimezoneinformation(7fadec9c) ret=7e886be4
call ntdll.rtlquerytimezoneinformation(7fadec9c) ret=7fd09bce
ret  ntdll.rtlquerytimezoneinformation() retval= ret=7fd09bce
call ntdll.ntquerysystemtime(7fadebc0) ret=7fd08e30
ret  kernel32.gettimezoneinformation() retval= ret=7e886be4
call kernel32.getsystemtimeasfiletime(7faded48) ret=7e886bf3
call ntdll.ntquerysystemtime(7fadebe0) ret=7fd08e30
ret  ntdll.ntquerysystemtime() retval= ret=7fd08e30
ret  kernel32.getsystemtimeasfiletime() retval=01c5f530 ret=7e886b

Re: PATCH/RFC: imagelist rewrite to use N x M grid

2005-11-29 Thread Vitaliy Margolen
Tuesday, November 29, 2005, 1:37:01 PM, Marcus Meissner wrote:
> On Tue, Nov 29, 2005 at 01:24:47PM -0700, Vitaliy Margolen wrote:
>> Tuesday, November 29, 2005, 12:58:55 PM, Marcus Meissner wrote:
>> > On Mon, Nov 28, 2005 at 09:55:57PM -0600, Dustin Navea wrote:
>> >> H.  I havent tested due to sys overhaul, but it seems that this
>> >> should work.  Just out of curiosity, what was the reason for picking 4
>> >> as the magic number?
>> 
>> > Randomness. Any number could be used.
>> I think native uses 4. As I remember, Delphi understands only 4xN.
>> So when you edit an imagelist in IDE and save it, Delphi could not use
>> produced output and was crashing/displaying corrupted images.

> So our current implementation has problems?
Correct. It work as long as you don't try to save image list to stream.

> Is this the Read/Write to/from IStream interface to imagelists?
Yes. Delphi stores that information in the raw form during the design
time. So when application start it reads whole image list from
resources.

In other words. What Wine saves to stream is not binary compatible with
windows. To make it compatible it has to be 4xN bitmap.

Vitaliy.









Re: PATCH/RFC: imagelist rewrite to use N x M grid

2005-11-29 Thread Marcus Meissner
On Tue, Nov 29, 2005 at 01:24:47PM -0700, Vitaliy Margolen wrote:
> Tuesday, November 29, 2005, 12:58:55 PM, Marcus Meissner wrote:
> > On Mon, Nov 28, 2005 at 09:55:57PM -0600, Dustin Navea wrote:
> >> H.  I havent tested due to sys overhaul, but it seems that this 
> >> should work.  Just out of curiosity, what was the reason for picking 4
> >> as the magic number?
> 
> > Randomness. Any number could be used.
> I think native uses 4. As I remember, Delphi understands only 4xN.
> So when you edit an imagelist in IDE and save it, Delphi could not use
> produced output and was crashing/displaying corrupted images.

So our current implementation has problems?

Is this the Read/Write to/from IStream interface to imagelists?
 
> > However I got another suggestion to just store all the images in
> > an array (of HBITMAP or similar).
> >
> > Does anything speak against doing this instead of having this 
> > large bitmap and cutting out the images?
> 
> The problem is that you can't read it as-is from the stream. Also you
> will have to put it back together into a single bitmap to save it. Also
> some ops require operation on the whole image list. And last but not
> least, it will be much slower, as you will have to create/delete DCs each
> time you need to use imagelist.

Ah ok.

Ciao, Marcus




Re: PATCH/RFC: imagelist rewrite to use N x M grid

2005-11-29 Thread Vitaliy Margolen
Tuesday, November 29, 2005, 12:58:55 PM, Marcus Meissner wrote:
> On Mon, Nov 28, 2005 at 09:55:57PM -0600, Dustin Navea wrote:
>> H.  I havent tested due to sys overhaul, but it seems that this 
>> should work.  Just out of curiosity, what was the reason for picking 4
>> as the magic number?

> Randomness. Any number could be used.
I think native uses 4. As I remember, Delphi understands only 4xN.
So when you edit an imagelist in IDE and save it, Delphi could not use
produced output and was crashing/displaying corrupted images.

> However I got another suggestion to just store all the images in
> an array (of HBITMAP or similar).
>
> Does anything speak against doing this instead of having this 
> large bitmap and cutting out the images?

The problem is that you can't read it as-is from the stream. Also you
will have to put it back together into a single bitmap to save it. Also
some ops require operation on the whole image list. And last but not
least, it will be much slower, as you will have to create/delete DCs each
time you need to use imagelist.

Vitaliy









Re: PATCH/RFC: imagelist rewrite to use N x M grid

2005-11-29 Thread Marcus Meissner
On Mon, Nov 28, 2005 at 09:55:57PM -0600, Dustin Navea wrote:
> H.  I havent tested due to sys overhaul, but it seems that this 
> should work.  Just out of curiosity, what was the reason for picking 4 
> as the magic number?

Randomness. Any number could be used.

However I got another suggestion to just store all the images in
an array (of HBITMAP or similar).

Does anything speak against doing this instead of having this 
large bitmap and cutting out the images?

Ciao, Marcus




Re: WSACleanup fix.

2005-11-29 Thread Robert Shearman

Rein Klazes wrote:


On Tue, 29 Nov 2005 10:33:49 -0600, you wrote:

 


   if (num_startup)
+{
+num_startup--;
   return 0;
+}
   



Yes, that is more correct. Re-reading the MSDN this is what should be
happening.

Changelog:
dlls/winsock: socket.c
dlls/winsock/tests  : sock.c
(With input from Robert Shearman) Decrement the reference counter in
WSACleanUp with regression test.
 



Alexandre already committed a corrected version of your patch.

--
Rob Shearman





Re: WSACleanup fix.

2005-11-29 Thread Vitaliy Margolen
Tuesday, November 29, 2005, 12:10:52 PM, Rein Klazes wrote:
> On Tue, 29 Nov 2005 10:33:49 -0600, you wrote:

>> if (num_startup)
>>+{
>>+num_startup--;
>> return 0;
>>+}

> Yes, that is more correct. Re-reading the MSDN this is what should be
> happening.

> Changelog:
> dlls/winsock  : socket.c
> dlls/winsock/tests: sock.c
> (With input from Robert Shearman) Decrement the reference counter in
> WSACleanUp with regression test.

> Rein.

I think you a little too late.  Check the CVS log.

Vitaliy






Re: WSACleanup fix.

2005-11-29 Thread Rein Klazes
On Tue, 29 Nov 2005 10:33:49 -0600, you wrote:

> if (num_startup)
>+{
>+num_startup--;
> return 0;
>+}

Yes, that is more correct. Re-reading the MSDN this is what should be
happening.

Changelog:
dlls/winsock: socket.c
dlls/winsock/tests  : sock.c
(With input from Robert Shearman) Decrement the reference counter in
WSACleanUp with regression test.

Rein.
--- wine/dlls/winsock/socket.c  2005-11-24 17:00:02.0 +0100
+++ mywine/dlls/winsock/socket.c2005-11-29 20:01:53.0 +0100
@@ -830,8 +830,10 @@ int WINAPI WSAStartup(WORD wVersionReque
  */
 INT WINAPI WSACleanup(void)
 {
-if (num_startup)
+if (num_startup) {
+num_startup -= 1;
 return 0;
+}
 SetLastError(WSANOTINITIALISED);
 return SOCKET_ERROR;
 }
--- wine/dlls/winsock/tests/sock.c  2005-11-14 20:31:23.0 +0100
+++ mywine/dlls/winsock/tests/sock.c2005-11-29 14:33:08.0 +0100
@@ -709,8 +709,15 @@ static void Init (void)
 
 static void Exit (void)
 {
+INT ret, err;
 TlsFree ( tls );
-ok ( WSACleanup() == 0, "WSACleanup failed\n" );
+ret = WSACleanup();
+err = WSAGetLastError();
+ok ( ret == 0, "WSACleanup failed ret = %d GetLastError is %d\n", ret, 
err);
+ret = WSACleanup();
+err = WSAGetLastError();
+ok ( ret == SOCKET_ERROR && err ==  WSANOTINITIALISED,
+"WSACleanup returned %d GetLastError is %d\n", ret, err);
 }
 
 static void StartServer (LPTHREAD_START_ROUTINE routine,



Re: Compiling wine on Ubuntu amd64

2005-11-29 Thread Peter Beutner
keep wine-devel list cc'ed.

James Trotter schrieb:
> On 11/29/05, Peter Beutner <[EMAIL PROTECTED]> wrote:
>>
>>I think we should rather get rid of including
>>/usr/include/X11/Intrinsic.h.
>>The code in x11drv which include this header doesn't even link against
>>libXt.
>>(and afaik no other part of wine does it)
> 
> So, you'd say it's safe to remove any includes of X11/Intrinsic.h in the
> wine source? If so, I'd be willing to do this as soon as I can.

Just do an 'cvs update' ;). Alexandre Julliard already fixed it today.






Re: msvcrt incompatibility in Origin 6.0 when saving documents

2005-11-29 Thread Tobias Burnus

Hello,

Olaf Leidinger wrote:

I'm testing Origin 6.0 using wine-0.9.1 and everything is really fine except saving 
documents. I'm getting a crash here. Just before that crash there is a dialog telling me: 
"File not saved. Please ensure that the disk isn't full" (roughly translated). 
Using a native version of msvcrt everything works fine. So I suppose that the problem 
lies in the builtin msvcrt ;-)
Running origin60.exe using +relay, I also get the message dialog, but the app 
doesn't crash. (Timing problem?)
Perhaps anybody could tell me where to start looking for the problem. Going 
trough the +relay-logs I can't find anything suspect. But I'm not very 
familliar with the win32 api ;-(


Just for information: Using CrossOver Office (at least since their
nightlies of approx. 2005-06-28) it works. There is something strange:
If I install using CrossOverOffice and point Wine 0.9.1 to CXO's 
directory (ln -s ../.cxoffice/default/* ~/.wine) then I can save files 
in Origin 6 under Wine 0.9.1.


That means that either the installation needs a feature CXO provides or
some files on the harddisc have the needed feature (I'm currently not
sure whether DCOM needs to be installed, I think it is not.)

Tobias

PS: See also bug 3115 ( http://bugs.winehq.org/show_bug.cgi?id=3115 ),
which does not provide more infomation.





Re: Please HELP, info required about 'DIB_Status_GdiMod' and 'DIB_Status_AppMod'

2005-11-29 Thread Robert Shearman

Marinescu-Ghetau Iulian wrote:


Hello,

Could anyone give me some more info on  X11DRV_CoerceDIBSection 
function and the logic behind using 'DIB_Status_GdiMod' and 
'DIB_Status_AppMod' stats? I am trying to repair a bug (3902) that has 
to do with application waiting exccessivly on some locks and i am kind 
of lost ;( Any help would be greatly appreciated!



That code is designed to keep DIBs sync'ed between applications and the 
X server. When the application does a Win32 GDI call then the state of 
the DIB gets set to DIB_Status_GdiMod and the memory that backs the DIB 
is set to no-access so that a page fault occurs if the application tries 
to read it. A handler detects this and downloads the DIB from the X 
server and sets the state to DIB_Status_None. In this state the DIB 
memory is set to read-only, so that a page fault occurs if the 
application tries to write it. The same handler also detects this and 
consequentially sets the DIB state to DIB_Status_AppMod and allows full 
access to the DIB memory.


If this doesn't answer help with your bug then you'll have to be more 
specific.


--
Rob Shearman





Re: RESEND: Page Fault With Freetype calls fixed

2005-11-29 Thread Alexandre Julliard
Rein Klazes <[EMAIL PROTECTED]> writes:

> Not included in the new release, no comments. Is there a problem with
> this one ?

I think it would be cleaner to have WineEngGetFontData do the right
thing directly, instead of calling it twice.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Question about current Shell Folder registry settings...

2005-11-29 Thread Michael Jung
Hi Markus,

On Tuesday 29 November 2005 14:47, Markus Gömmel wrote:
> Can anybody tell me why "Desktop" is set to Z: instead of set to
> "c:\windows\profiles\mgoemmel\Desktop"?

The code that figures the paths for the 'Personal' and 'Desktop' shellfolders 
is in dlls/shell32/shellpath.c's _SHGetDefaultValue, starting at line 1261. 
It queries the $HOME environment variable, which holds the path that refers 
to the folder that conceptually represents what 'My Documents' is on Windows. 
The 'Desktop' folder in your $HOME is what conceptually matches the Windows 
Desktop folder (At least on KDE. And though I can't find it just yet, I guess 
that's the freedesktop.org standard directory for the desktop).

> And as a second question: would it be ok to add "My Music", "My Pictures"
> and "My Video" to this registry key? I would do this if anybody would agree
> that it's ok, and would send the necessary patches. Some if my programs
> blames me about these three missing values. If yes, where should it point
> to? z:\home\mgoemmel\My Music? Or would it be not much better to also point
> "Personal" to "c:\windows\profiles\mgoemmel\My Documents" too?

You probably should add CSIDL_MY[MUSIC|VIDEO|PICTURES] to the 'folders' array 
in shellpath.c's _SHRegisterUserShellFolders function. This would generate 
the appropriate registry entries. With the current implementation those would 
all point to the user's home directory. In _SHGetDefaultValue, you could 
check for 'My Music', 'My Videos' and 'My Pictures' folders in $HOME and, if 
they are present, map to those instead.

Bye,
-- 
Michael Jung
[EMAIL PROTECTED]




Re: WSACleanup fix.

2005-11-29 Thread Robert Shearman

Rein Klazes wrote:


--- wine/dlls/winsock/socket.c  2005-11-24 17:00:02.0 +0100
+++ mywine/dlls/winsock/socket.c2005-11-29 14:58:24.0 +0100
@@ -830,8 +830,10 @@ int WINAPI WSAStartup(WORD wVersionReque
 */
INT WINAPI WSACleanup(void)
{
-if (num_startup)
+if (num_startup) {
+num_startup = 0;
return 0;
+}
SetLastError(WSANOTINITIALISED);
return SOCKET_ERROR;
}
 



Hi,

I don't think the patch is quite correct. Attached is a patch that has 
been sitting in my tree for a while.


--
Rob Shearman

? dlls/winsock/winsock.spec.c
? dlls/winsock/ws2_32.dll.dbg.c
? dlls/winsock/ws2_32.dll.so.debug
Index: dlls/winsock/socket.c
===
RCS file: /home/wine/wine/dlls/winsock/socket.c,v
retrieving revision 1.199
diff -u -p -r1.199 socket.c
--- dlls/winsock/socket.c	28 Nov 2005 20:10:42 -	1.199
+++ dlls/winsock/socket.c	29 Nov 2005 16:31:39 -
@@ -832,7 +832,10 @@ int WINAPI WSAStartup(WORD wVersionReque
 INT WINAPI WSACleanup(void)
 {
 if (num_startup)
+{
+num_startup--;
 return 0;
+}
 SetLastError(WSANOTINITIALISED);
 return SOCKET_ERROR;
 }



Re; Question about current Shell Folder registry settings...

2005-11-29 Thread Juan Lang
Hi Markus,
> Desktopz:\home\mgoemmel\Desktop
(snip)
> Can anybody tell me why "Desktop" is set to Z: instead of set
> to "c:\windows\profiles\mgoemmel\Desktop"?

Because this (z:\home\mgoemmel\Desktop) is the location of your Linux
desktop.  If you save stuff to "Desktop," you expect it to appear there,
yes?

Perhaps this shouldn't be done inside shell32 (where it currently is), but
in winecfg instead.  The trouble of course is that winecfg isn't run
during installation.  There was a patch that ran winecfg in an install
mode from wineprefixcreate, had it gone in this would be possible.

> And as a second question: would it be ok to add "My Music",
> "My Pictures" and "My Video" to this registry key? I would do
> this if anybody would agree that it's ok, and would send the
> necessary patches. Some if my programs blames me about these
> three missing values.

If an app depends on them, then yes, by all means do.

> If yes, where should it point to? z:\home\mgoemmel\My Music?
> Or would it be not much better to also point "Personal" to
> "c:\windows\profiles\mgoemmel\My Documents" too?

Several questions in one here!  Well, since Linux doesn't really have a
"My Music" folder, I think it makes sense just to point it to the same
place as "Personal," wherever that is.  That, in turn, defaults to ~,
since that is the closest thing to a "My Documents" directory in Linux.

Incidentally, if you don't like the defaults, you can always change them. 
Just be sure to change them in "User Shell Folders" rather than "Shell
Folders," the latter is deprecated and is treated as read-only (by both MS
and Wine.)

--Juan




__ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com




Does the Windows version of Mozilla need to be installed to use the Mozilla ActiveX plugin?

2005-11-29 Thread David D. Hagood
Does the Windows version of Mozilla need to be in place for the Mozilla 
Active X control to work, or is there a way to point the control at my 
Linux install of Mozilla?





Re: msvcrt incompatibility in Origin 6.0 when saving documents

2005-11-29 Thread Tobias Burnus

Hello,

Olaf Leidinger wrote:

I'm testing Origin 6.0 using wine-0.9.1 and everything is really fine except saving 
documents. I'm getting a crash here. Just before that crash there is a dialog telling me: 
"File not saved. Please ensure that the disk isn't full" (roughly translated). 
Using a native version of msvcrt everything works fine. So I suppose that the problem 
lies in the builtin msvcrt ;-)
Running origin60.exe using +relay, I also get the message dialog, but the app 
doesn't crash. (Timing problem?)
Perhaps anybody could tell me where to start looking for the problem. Going 
trough the +relay-logs I can't find anything suspect. But I'm not very 
familliar with the win32 api ;-(


Just for information: Using CrossOver Office (at least since their 
nightlies of approx. 2005-06-28) it works. There is something strange: 
If I install using CrossOverOffice and point Wine 0.9.1 that 
installation (ln -s ../.cxoffice/default/* ~/.wine) then I can save 
using Wine 0.9.1.


That means that either the installation needs a feature CXO provides or 
some files on the harddisc have the needed feature (I'm currently not 
sure whether DCOM needs to be installed, I think it is not.)


Tobias





Re: Latest CVS download opensolaris, AMD 64, build errors

2005-11-29 Thread Robert Lunnon
On Mon, 28 Nov 2005 01:56 pm, Mike McCormack wrote:
> David Clack wrote:
> > I'm on OpenSolaris B27, on an AMD 64 system, I'm getting these errors
> > from the build.
>
> I guess not alot of people use that configuration ...
>

Did you apply the patches from http://www.blastwave.org/wine




Question about current Shell Folder registry settings...

2005-11-29 Thread Markus G�mmel
Hello,

HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/ShellFolders has 
the following settings on a freshly installed system after first calling 
wine:

AppDatac:\windows\profiles\mgoemmel\Application Data
Cookiesc:\windows\profiles\mgoemmel\Cookies
Desktopz:\home\mgoemmel\Desktop
Favoritesc:\windows\profiles\mgoemmel\Favorites
...
Personalz:\home\mgoemmel
...
StartMenuc:\windows\profiles\mgoemmel\Start Menu

Can anybody tell me why "Desktop" is set to Z: instead of set to 
"c:\windows\profiles\mgoemmel\Desktop"?

And as a second question: would it be ok to add "My Music", "My Pictures" 
and "My Video" to this registry key? I would do this if anybody would agree 
that it's ok, and would send the necessary patches. Some if my programs 
blames me about these three missing values. If yes, where should it point 
to? z:\home\mgoemmel\My Music? Or would it be not much better to also point 
"Personal" to "c:\windows\profiles\mgoemmel\My Documents" too?

Thanks for any answers and/or discussions...

Markus Goemmel
[EMAIL PROTECTED]








Re: Implement directory object in wineserver.

2005-11-29 Thread Steven Edwards
Hi,

On 11/28/05, Vitaliy Margolen <[EMAIL PROTECTED]> wrote:
> Change tests accordingly.

This reminded me, I meant to send you a note when this test was first
added. The test needs some loving for Windows Server 2003.

om.c:190: Test failed: Failed create returned valid handle! (80905558)
om.c:202: Test failed: NtCreateMutant should have failed with STATUS_OBJECT_TYPE
_MISMATCH got(c03a)
om.c:215: Test failed: NtCreateMutant should have succeeded with STATUS_OBJECT_N
AME_EXISTS got()
om.c:228: Test failed: NtCreateEvent should have succeeded with STATUS_OBJECT_NA
ME_EXISTS got()
om.c:241: Test failed: NtCreateSemaphore should have succeeded with STATUS_OBJEC
T_NAME_EXISTS got()
om.c:254: Test failed: NtCreateTimer should have succeeded with STATUS_OBJECT_NA
ME_EXISTS got()
om.c:269: Test failed: NtCreateSection should have succeeded with STATUS_OBJECT_
NAME_EXISTS got()

om: 105 tests executed, 0 marked as todo, 7 failures.


--
Steven Edwards - ReactOS and Wine developer

"There is one thing stronger than all the armies in the world, and
that is an idea whose time has come." - Victor Hugo




Re: msvcrt incompatibility in Origin 6.0 when saving documents

2005-11-29 Thread Rein Klazes
On Tue, 29 Nov 2005 02:43:39 +0100, you wrote:

>... some _mbsinc calls
>
>... some putc calls
>
>And finally ...
>
>0009:Call msvcrt.fclose(7fe8fa90) ret=7f81ecf0

[snip]

>0009:Ret  msvcrt.fclose() retval= ret=7f81ecf0
>0009:Call kernel32.OpenFile(7fe60252 
>"i:\\mnt\\privat\\Origin6\\UNTITLED.opj",7fadf040,0200) ret=7f81ed08

This open file is really doing a delete (0x200 is OF_DELETE ). I guess
that is part of the error exit and that the cause is in those putc and
_mbsinc calls.

Rein.




reports are not well shown

2005-11-29 Thread Curro Amores
Hi im runing my acces97 application. The problem is when im going to watch a 
report, letters are not well shown. I have installed all the fonts 
(arial...) and it keeps on. The text seems to be justified. I have traced 
the program


trace:loaddll:load_builtin_dll Loaded module 
L"c:\\windows\\system\\wineps.drv" : builtin
trace:loaddll:MODULE_FlushModrefs Unloaded module 
L"c:\\windows\\system\\wineps.drv" : builtin
trace:loaddll:load_builtin_dll Loaded module 
L"c:\\windows\\system\\wineps.drv" : builtin
trace:loaddll:MODULE_FlushModrefs Unloaded module 
L"c:\\windows\\system\\wineps.drv" : builtin
trace:loaddll:load_builtin_dll Loaded module 
L"c:\\windows\\system\\wineps.drv" : builtin

fixme:font:load_VDMX Failed to retrieve vTable
fixme:font:load_VDMX Failed to retrieve vTable
fixme:font:load_VDMX Failed to retrieve vTable
trace:loaddll:MODULE_FlushModrefs Unloaded module 
L"c:\\windows\\system\\wineps.drv" : builtin


maybe is something with printer ( im using the cups printer). But the funny 
thing is that i can see some other kinds of report.







Re: REG_EXPAND_SZ not parsed correctly

2005-11-29 Thread Francois Gouget

On Tue, 29 Nov 2005, Cihan Altinay wrote:


Hi,
I have a .reg file exported from Windows that contains the following entry:

"HelpLink"=hex(2):68,00,74,00,74,00,70,00,3a,00,2f,00,2f,00,77,00,77,00,77,00,\
 2e,00,6d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,2e,00,63,00,6f,\
 00,6d,00,2f,00,73,00,75,00,70,00,70,00,6f,00,72,00,74,00,00,00


I believe one of the problems with Wine's regedit is that it does not 
deal correctly with Unicode .reg files. The symptoms you describe seem 
to confirm this. So it's probably regedit that needs fixing.


--
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
 We are Pentium of Borg. You will be approximated. Division is futile.




Please HELP, info required about 'DIB_Status_GdiMod' and 'DIB_Status_AppMod'

2005-11-29 Thread Marinescu-Ghetau Iulian

Hello,

Could anyone give me some more info on  X11DRV_CoerceDIBSection function and 
the logic behind using 'DIB_Status_GdiMod' and 'DIB_Status_AppMod' stats? I 
am trying to repair a bug (3902) that has to do with application waiting 
exccessivly on some locks and i am kind of lost ;( Any help would be greatly 
appreciated!


Iulian






Re: Problem with serial port

2005-11-29 Thread Uwe Bonnes
> "Félix" == Félix Ortega <[EMAIL PROTECTED]> writes:


Félix> I'm starting to thing that there is a problem with the way the
Félix> serial port is initialized, but I don't have any proof of that.

Didn't Cihan already found some mismatches in initialization. Perhaps there
is more mismatch lingering around.

Bye
-- 
Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --




Re: Problem with serial port

2005-11-29 Thread Félix Ortega

Quoting Uwe Bonnes <[EMAIL PROTECTED]>:


"Félix" == Félix Ortega <[EMAIL PROTECTED]> writes:


   Félix> Sorry, with my desesperation I forgot to tell you the version of
   Félix> wine I'm running is the 0.9.2 version. I have tried 0.9.0 and
   Félix> 0.9.1, with the same result. The strange thing is the driver does
   Félix> not use the WaitCommEvent call, tha I think is work in progress
   Félix> now.

No, most WaitCommEvent functionality is there. Maybe heavy use of threads
and some special case still cause trouble.


Ok, I think the problem with the other driver is essentially the same, but the
second driver uses WaitCommEvent (with events) and the first driver uses
timeouts (polling). But the problem I think is the data never gets written to
the port (something related to flow control?)



   Félix> I have another driver for a similar printer that does use
   Félix> this call, and doesn't work neither. I'm studying the windows
   Félix> source code of this second driver (I have access to it) to make a
   Félix> linux program that at least initialize the printer. I will keep
   Félix> you informed on this second project.

Look at the test directories and try to create tests mimicing your error.

I will try to do that, I haven't looked the test dir too much.


   Félix> For the olivetti printer, I
   Félix> don't know what is the problem, and I don't know where to look
   Félix> for :(.

Perpaps some serial spy would be of help. Capture the communication of the
windows program with the device, do the same under wine and compare.


I have done that, with portmon on the windows side and with some patches that
you (I think) sent to the list, so the write and read operations log the
contents. The data is the same, and the sequence also, but on wine the data
never gets to the printer, It stalls on the buffer and after a timeout the
program clears the output buffer and starts again.
At first I thought that the problem was related with the asynchronous I/O
(somehow the timeout fires before the data gets written), so I disabled the
asynchronous write for ports, as said on a thread I found on google. The diff
was something like changing the line
   if (flags & (FD_FLAG_OVERLAPPED|FD_FLAG_TIMEOUT))
with
   if (flags & (FD_FLAG_OVERLAPPED))
at function NtWriteFile on ntdll/file.c file, so the write never gets its own
thread unles specified. But the problem remains the same, but the
timeout never
get's fired and the program hangs trying to write on the serial port.

I'm starting to thing that there is a problem with the way the serial port is
initialized, but I don't have any proof of that.

Thanks!

However I don't have a suggestion for a serial caputure program for you :-(
--
Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --






This message was sent using IMP, the Internet Messaging Program.





Re: Problem with serial port

2005-11-29 Thread Cihan Altinay

Uwe Bonnes wrote:

Perpaps some serial spy would be of help. Capture the communication of the
windows program with the device, do the same under wine and compare.

However I don't have a suggestion for a serial caputure program for you :-(


How about the freeware Portmon from sysinternals:
http://www.sysinternals.com/Utilities/Portmon.html

It helped me a lot...

Cheers,
Cihan




Re: Problem with serial port

2005-11-29 Thread Uwe Bonnes
> "Félix" == Félix Ortega <[EMAIL PROTECTED]> writes:

Félix> Sorry, with my desesperation I forgot to tell you the version of
Félix> wine I'm running is the 0.9.2 version. I have tried 0.9.0 and
Félix> 0.9.1, with the same result. The strange thing is the driver does
Félix> not use the WaitCommEvent call, tha I think is work in progress
Félix> now.  

No, most WaitCommEvent functionality is there. Maybe heavy use of threads
and some special case still cause trouble.

Félix> I have another driver for a similar printer that does use
Félix> this call, and doesn't work neither. I'm studying the windows
Félix> source code of this second driver (I have access to it) to make a
Félix> linux program that at least initialize the printer. I will keep
Félix> you informed on this second project. 

Look at the test directories and try to create tests mimicing your error.

Félix> For the olivetti printer, I
Félix> don't know what is the problem, and I don't know where to look
Félix> for :(.

Perpaps some serial spy would be of help. Capture the communication of the
windows program with the device, do the same under wine and compare.

However I don't have a suggestion for a serial caputure program for you :-(
-- 
Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --




Re: Problem with serial port

2005-11-29 Thread Félix Ortega

Sorry, with my desesperation I forgot to tell you the version of wine I'm
running is the 0.9.2 version. I have tried 0.9.0 and 0.9.1, with the same
result. The strange thing is the driver does not use the WaitCommEvent call,
tha I think is work in progress now.
I have another driver for a similar printer that does use this call,
and doesn't
work neither. I'm studying the windows source code of this second
driver (I have
access to it) to make a linux program that at least initialize the printer. I
will keep you informed on this second project. For the olivetti printer, I
don't know what is the problem, and I don't know where to look for :(.

Thanks to all.
Quoting Uwe Bonnes <[EMAIL PROTECTED]>:


"Félix" == Félix Ortega <[EMAIL PROTECTED]> writes:


   Félix> Quoting Cihan Altinay <[EMAIL PROTECTED]>:
   >> Quoting Félix Ortega <[EMAIL PROTECTED]>:
   >>
   >>> I'm trying to make work a driver for a financial printer (Olivetti
   >>> Pr20) on wine. I'm having problems with the serial port, it seems
   >>> that no data is written to the device. I have tried everything I
   >>> have thinked, searched on
   >>  Please try the attached patch with the latest cvs. It is a
   >> workaround for a symptom where data is flushed away in wine but not
   >> in Windows. It would be interesting to know if that works for you as
   >> well.
   >>
Félix, just to make things sure, are you running a recent wine?
--
Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --






This message was sent using IMP, the Internet Messaging Program.





Re: Problem with serial port

2005-11-29 Thread Uwe Bonnes
> "Félix" == Félix Ortega <[EMAIL PROTECTED]> writes:

Félix> Quoting Cihan Altinay <[EMAIL PROTECTED]>:
>> Quoting Félix Ortega <[EMAIL PROTECTED]>:
>> 
>>> I'm trying to make work a driver for a financial printer (Olivetti
>>> Pr20) on wine. I'm having problems with the serial port, it seems
>>> that no data is written to the device. I have tried everything I
>>> have thinked, searched on
>>  Please try the attached patch with the latest cvs. It is a
>> workaround for a symptom where data is flushed away in wine but not
>> in Windows. It would be interesting to know if that works for you as
>> well.
>> 
Félix, just to make things sure, are you running a recent wine?
-- 
Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --




Re: msvcrt incompatibility in Origin 6.0 when saving documents

2005-11-29 Thread Uwe Bonnes
> "Olaf" == Olaf Leidinger <[EMAIL PROTECTED]> writes:

Olaf> Hello again!
>> Try running the application with the debugger and builtin
>> msvcrt. Perhaps you get a backtrace of the crash.  Otherwise try in
>> the relay trace (builtin msvcrt, showing the messagebox but not the
>> crash) to find where the messagebox is called. You can seach for the
>> message text. Now work up the log and try to find why the program
>> decides to emit the messagebox.
>> 

Olaf> Well, the debugger doesn't tell me anything, as the backtrace is
Olaf> only one line long and it doesn't contain any information. I
Olaf> digged a bit deeper in the relay-log. After the save-file dialog I
Olaf> found this:

If it is a heap overwrote, try running with WINEDEBUG=+heap. This will check
the heap with each heap operation and will immediately tell you when
something hag gone wrong (but not where).

Otherwise perhaps try running with WINEDEBUG=+snoop,+relay and compare each
msvcrt call.

Bye
-- 
Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --




Re: Problem with serial port

2005-11-29 Thread Félix Ortega

Quoting Cihan Altinay <[EMAIL PROTECTED]>:


Quoting Félix Ortega <[EMAIL PROTECTED]>:


I'm trying to make work a driver for a financial printer (Olivetti Pr20) on
wine. I'm having problems with the serial port, it seems that no data is
written to the device. I have tried everything I have thinked, searched on


Please try the attached patch with the latest cvs. It is a workaround for
a symptom where data is flushed away in wine but not in Windows. It would
be interesting to know if that works for you as well.

Cheers,
Cihan



It does not work :( The test program freezes trying to flush the serial
port (at
function PurgeComm). Just before that the trace says  that the cbOutQue has 6
elements (at function ClearCommError). I think the program writes on
the serial
port, but for any reason the writing operation doesn't succeed and the writing
operation stalls trying to do the tcdrain part. The program does not
stops with
tcflush because tcflush discards the buffers.
Perhaps is something related to the line discipline of the port, somehow the
port doesn't accept input.

I keep investigating, many thanks!


This message was sent using IMP, the Internet Messaging Program.





Re: Compiling wine on Ubuntu amd64

2005-11-29 Thread Peter Beutner
James Trotter schrieb:
 > I also encountered another quirk, and needed to install libxt-dev, because
> the header file /usr/include/X11/Intrinsic.h was missing. The Wine package
> should probably depend on libxt-dev.

I think we should rather get rid of including /usr/include/X11/Intrinsic.h.
The code in x11drv which include this header doesn't even link against libXt.
(and afaik no other part of wine does it)

> Then, the compilation failed with:
> 
> ../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./gdi32.spec
> dispdib.spec.o gdi.exe.spec.o wing.spec.o bidi16.o dispdib.o env.o gdi16.o
> wing.o bidi.o bitblt.o bitmap.o brush.o clipping.o dc.o dib.o driver.o
> enhmetafile.o enhmfdrv/bitblt.o enhmfdrv/dc.o enhmfdrv/graphics.o
> enhmfdrv/init.o enhmfdrv/mapping.o enhmfdrv/objects.o font.o
> freetype.ogdi_main.o
> gdiobj.o icm.o mapping.o metafile.o mfdrv/bitblt.o mfdrv/dc.o
> mfdrv/graphics.o mfdrv/init.o mfdrv/mapping.o mfdrv/objects.o mfdrv/text.o
> painting.o palette.o path.o pen.o printdrv.o region.o version.res -o
> gdi32.dll.so -L../../dlls -L../../dlls/advapi32 -L../../dlls/kernel32
> -L../../dlls/ntdll -ladvapi32 -lkernel32 -lntdll -L../../libs/wine -lwine
> -L../../libs/unicode -lwine_unicode /usr/lib/libsicuuc.a
> /usr/lib/libsicudata.a -lstdc++ -lgcc_s -L../../libs/port -lwine_port
> ld: Relocatable linking with relocations from format elf64-x86-64
> (/usr/lib/libsicuuc.a(ubidi.ao)) to format elf32-i386 (gdi32.Q3Qz7R.o) is
> not supported winebuild: ld -m elf_i386 -r failed with status 256
As the error message says:
linking a 32bit object against a 64bit library(libsicuuc.a) doesn't work.
I don't know where the /usr/lib/libsicuuc.a library comes from( I don't have it 
on my
system), but you need a ia32 version of the package the library belongs to.