Re: faq merge #2 -- Alexandre please look over the first patch :)

2003-09-02 Thread Marcus Meissner
On Mon, Sep 01, 2003 at 06:19:17PM -0700, Alexandre Julliard wrote:
 Tom [EMAIL PROTECTED] writes:
 
  changelog
 
  merge from lostwages faq
 
 It doesn't build here, that's because of the '' in the rpmseek.com
 URL, I'm not sure what's the correct way to escape that:

amp; should be the escape for 

Ciao, Marcus



Re: Viruses in the wine-devel archive ??

2003-08-22 Thread Marcus Meissner
On Fri, Aug 22, 2003 at 06:13:39PM +0300, P. Christeas wrote:
 
  Yup, here is the message.
  http://winehq.com/hypermail/wine-patches/2003/08/0203.html
 
  I'll remove that attachment. Should we contact that author and let him
  know he is infected, or simply remove him from the list?
 
 Btw. Does SoBig.F run under wine? If yes, how bad can it get?

It crashes for me.

Ciao, Marcus



Re: About spam

2003-08-22 Thread Marcus Meissner
On Fri, Aug 22, 2003 at 10:58:44AM -0700, Duane Clark wrote:
 Sylvain Petreolle wrote:
 I have an  evidence that some robots can grab our email adress, even
 with our mangling process on winehq. I used my work adress only onto
 wine-devel and got spammed last week.
 
 
 A lot of spammers do dictionary attacks using various email combinations 
 including first initial last [EMAIL PROTECTED]

And I get regular email at [EMAIL PROTECTED], since
I get all mail @jet.franken.de, so the scrambling does not really help ;)

But basically I do not care, I no longer read my spam folder, I just delete
everything that gets in there.

Ciao, Marcus



REGRESSION: environment variables no longer possible

2003-08-19 Thread Marcus Meissner
Hi,

Apparently the changes from yesterday removed support of environment variables
in registry keys (very useful for the Path keys in the Drive sections).

Can it be readded? Or is there a rational behind it?

Ciao, Marcus


pgp0.pgp
Description: PGP signature


Re: REGRESSION: environment variables no longer possible

2003-08-19 Thread Marcus Meissner
On Tue, Aug 19, 2003 at 10:33:44AM -0700, Alexandre Julliard wrote:
 Dmitry Timoshkov [EMAIL PROTECTED] writes:
 
  Actually it's just the format of the Wine config has changed. Now all
  environment variables should be surrounded by the percent signes (%HOME%),
  and are handled by the normal registry code. Alexandre has changed the sample
  config as well.
 
 Actually the format of the config has not really changed, most entries
 have been behaving that way for a long time already. I just made the
 drives part of the config behave like all the other entries.

Small migration nightmare though. But then again, WINE is alpha software.

Ciao, Marcus



Re: wine/. configure.ac configure

2003-07-23 Thread Marcus Meissner
On Wed, Jul 23, 2003 at 07:09:52PM -0500, Alexandre Julliard wrote:
 ChangeSet ID: 8863
 CVSROOT:  /home/winehq/opt/cvs-commit
 Module name:  wine
 Changes by:   [EMAIL PROTECTED]   2003/07/23 19:09:52
 
 Modified files:
   .  : configure.ac configure 
 
 Log message:
   Disable gcc strict aliasing optimization for now.
 
 Patch: http://cvs.winehq.com/patch.py?root=/home/winehq/opt/cvs-commitid=8863
 
 Old revision  New revision  Changes Path
  1.167 1.168 +9 -0   wine/configure.ac
  1.442 1.443 +52 -0  wine/configure


Which file/functions gets broken by strict aliasing?

Ciao, Marcus



Re: Warning on Alpha Linux

2003-07-20 Thread Marcus Meissner
On Sat, Jul 19, 2003 at 11:37:12PM -0700, Steven Edwards wrote:
 --- Todd Vierling [EMAIL PROTECTED] wrote:
  You should be aware that NT on Alpha was *NOT* a LP64 operating system
  (whereas Windows on IA64 is indeed LP64), and I'm presuming that the
  alpha-pe is targeting the classical NT/Alpha configuration.  The ARC BIOS
  that was used to load NT created a memory map that simulated a 32-bit memory
  space, thus essentially making an Alpha behave much like an x86 -- well,
  sort of.
  
  A Wine compiled as Win64 will likely not be able to run Alpha NT binaries.
  However, it might work reasonably well to compile apps with Winelib.
 
 I dont really care so much about being compatible with Alpha NT stuff. I know Marcus 
 broke the NT
 PPC compatiblity stuff for his Winelib port so I think its a non-issue for anyone 
 here. 

Side note:
The ABI is broken just for 1 register (TEB), since it is used by the
Linux/PPC ABI.

Ciao, Marcus



Re: [RESENT]: Fixed winedbg example configuration

2003-07-18 Thread Marcus Meissner
On Fri, Jul 18, 2003 at 08:09:58AM +0200, Jon Bright wrote:
...
 The point is that the automatic reordering should go away because it's 
 causing at least one bug that I know of.  Keys should be read out of the 
 registry in the same order they were written to it.  Thus, saying this 
 is a no-op because keys are reordered isn't a valid argument against 
 BiGgUn's patch.  You could equally say This patch seems completely 
 pointless, key re-ordering or not, though and I'd be quite happy.

Please give more details on that bug.

Ciao, Marcus



Re: HRESULTs and headers

2003-07-14 Thread Marcus Meissner
On Mon, Jul 14, 2003 at 11:44:20AM +0100, Mike Hearn wrote:
 Good morning everybody!
 
 I was wondering if anybody knew where I could find a definitive list of
 HRESULT values, as the one I want to know, 0x80770001, is not in the
 Wine headers, nor on Google.
 
 Is there somewhere that I can get the official set of headers for free?
 I don't want to buy Visual Studio just to get them (the mingw headers
 are partially taken from Wine I think).

Download a DirectX SDK for instance. Just some hundreds of megabytes, but
I have always found includes somewhere.

Ciao, Marcus




Re: PPC CPU Detection in configure

2003-07-13 Thread Marcus Meissner
On Sun, Jul 13, 2003 at 02:20:53PM +0200, Pierre d'Herbemont wrote:
 Hi,
 
 Here is a patch which adds CPU Detection for the PowerPC Processor in 
 configure.ac. There wasn't any in configure, is there any reason? By 
 the way there is two flags for the powerpc : __PPC__ and __powerpc__ 
 any reason, or should they be unified?

My gcc already defines them correctly.

Ciao, Marcus


pgp0.pgp
Description: PGP signature


Re: Building winelib without wine...

2003-07-11 Thread Marcus Meissner
On Fri, Jul 11, 2003 at 01:50:28PM +0100, Mark Easton wrote:
 Having scanned the WineHQ website thoroughly I've come across a couple
 of posts that suggest that winelib has been previously been made to work
 on PPC, although I cannot find any details of how to attempt such a
 thing.  
 
 Can anyone suggest how I could start trying to get Winelib built on PPC
 as I really can't find any details about building winelib without wine

There are some patches needed, one is floating around from the Darwin 
maintainer, one is in my tree at SuSE.

I will submit mine next week, but its just a small dlls/ntdll/signal_powerpc.c
fix,

Ciao, Marcus



Re: Freetype libs in /usr/include/libs

2003-07-07 Thread Marcus Meissner
On Mon, Jul 07, 2003 at 12:34:31PM -0700, Jeff Smith wrote:
 If I am not mistaken, /usr/local/lib is the *standard* location to find
 the freetype libraries, if it is built stand-alone, as opposed to being
 built as part of XFree86.  Of course, I would have thought that
 /usr/local/lib should be a part of the standard library search path.
 
 Note that we should probably first try pkg-config, then freetype-config,
 then fall back on standard locations when looking for the freetype
 libraries.

And we do not even link against them, we just need the headers.

The libraries are loaded dynamically, where the search path is not honored
yet.

Ciao, Marcus



Re: Heap APIS

2003-07-05 Thread Marcus Meissner
On Sat, Jul 05, 2003 at 08:34:51AM +, Jean-Eric Cuendet wrote:
 Hi,
 In windows, there is APIs for Heap management (HeapCreate, HeapAlloc, ...).
 Are they implememted in wine? How? Is it just stubs on malloc? Or are they *really*
 implemented and working as secondary heaps?

Yes. On top of VirtualAlloc. No. Yes.

Ciao, Marcus



Re: PATCH: dlls/commdlg/printdlg.c add casts

2003-06-28 Thread Marcus Meissner
On Sat, Jun 28, 2003 at 04:30:13PM +0100, Mike Hearn wrote:
 On Sat, 28 Jun 2003 09:46:35 +0200, Sir Gerald Pfeifer scribed thus:
  The following patch to dlls/commdlg/printdlg.c
  
revision 1.66
date: 2003/06/27 22:21:06;  author: julliard;  state: Exp;  lines: +4 -7
Mike Hearn [EMAIL PROTECTED]
Store PrintStructures in a window property instead of extra window bytes.
  
  cause two new warnings
  
printdlg.c:2056: warning: passing arg 2 of `GetPropW' from incompatible pointer 
  type
printdlg.c:2061: warning: passing arg 2 of `SetPropW' from incompatible pointer 
  type
 
 Odd, I don't remember getting those. Perhaps I just didn't notice. In
 future I'll try and remember to compile with -Werror before submitting.

 In this case I think it's mostly academic as the string doesn't have any
 non ANSI characters in it, but I think another solution might be to put an
 L before the string, so it becomes:
 
 SetPropW(hDlg, L__WINE_WHATEVER)

No, Lx is not guaranteed to do the things you think it does.

(It will use 4 byte characters, depending on how gcc is configured
or if you use -fwchar-short or so.)

Ciao, Marcus



Re: PATCH: dlls/commdlg/printdlg.c add casts

2003-06-28 Thread Marcus Meissner
  No, Lx is not guaranteed to do the things you think it does.
  
  (It will use 4 byte characters, depending on how gcc is configured
  or if you use -fwchar-short or so.)
 
 Doesn't Wine's comfigure complain if gcc doesn't understand
 -fshort-wchar? (It seems it doesn't, but I'm sure it did in the past...)

I am pretty sure it never did.
 
 Actually, since I can't find that option passed to gcc anymore, how does
 Wine gets its binary compatibility with native apps regarding this
 issue?

Hmm? The native apps when compiled use the option -fshort-wchar,
see : tools/winegcc.c:gcc_argv[i++] = -fshort-wchar;

 I'm asking because I saw a couple L_text while grepping for answering
 Mike...

There ain't:

./dlls/kernel/messages/winerr_enu.mc.rc: LSuccess\n\x\x,
is handled by wmc

./dlls/shlwapi/ordinal.c:   lstrlenW(L{D0FCA420-D3F5-11CF-B211-00AA004AE837
});
./dlls/shlwapi/ordinal.c:   StrCpyW(a6,  L{D0FCA420-D3F5-11CF-B211-00AA004A
E837});
#if 0'ed out.

./include/wincrypt.h (and one other .h file) use L protected by MSVC
checks.

Ciao, Marcus



Re: PATCH: dlls/commdlg/printdlg.c add casts

2003-06-28 Thread Marcus Meissner
On Sat, Jun 28, 2003 at 05:56:23PM -0400, Vincent Béron wrote:
 Le sam 28/06/2003 à 17:27, Marcus Meissner a écrit :
   Actually, since I can't find that option passed to gcc anymore, how does
   Wine gets its binary compatibility with native apps regarding this
   issue?
  
  Hmm? The native apps when compiled use the option -fshort-wchar,
  see : tools/winegcc.c:gcc_argv[i++] = -fshort-wchar;
 
 I was talking about a random foo.exe in PE format. How does Wine
 understands the WSTR from it if it's not itself compiled with
 -fshort-wchar?

It must be compiled with -fshort-wchar. Thats why winegcc sets it by
default.

Ciao, Marcus



Re: Mac OS X Support : Asm syntax support

2003-06-26 Thread Marcus Meissner
On Wed, Jun 25, 2003 at 02:32:29PM +0200, Pierre d'Herbemont wrote:
 Hi,
 
 Here is a patch which should add support for Mac OS X ppc asm syntax, 
 and some Mach-O quirk (like text section).
 I hope it will be ok. It mainly relay on Macro which are stored in 
 build.h (any better place?).
 
 Cheers,
 
 Pierre
 
 ChangeLog:
 - Add support for Mac OS X assembler syntax


This needs 2 places fixed:

 +# define LD_SECTION_TEXT  .section \.text\

Should be 

# define LD_SECTION_TEXT  .section \\\.text\\\

and:

 +# define PPC_LOW(mem,index)   ( mem )@l(##index)

should be:
# define PPC_LOW(mem,index)   ( mem )@l( #index )

Ciao, Marcus



Re: Mac OS X Support : winebuild assembler conformance

2003-06-23 Thread Marcus Meissner
On Mon, Jun 23, 2003 at 02:01:38PM +0200, Pierre d'Herbemont wrote:
 Hi, 
 
 Here is a patch which fix the problem with darwin's asm. I would like 
 to know if linux assembler is ok with this patch. 

Hmm, not quite. On Linux/PPC:

d3d8.spec.s:351: Error: syntax error; found `(' but expected `,'
d3d8.spec.s:351: Error: junk at end of line: `(_imports+80)'

351:lis r9,ha16(_imports+80)
352:la r8,lo16(_imports+80)(r9)

Ciao, Marcus




Re: Wine

2003-06-19 Thread Marcus Meissner
On Thu, Jun 19, 2003 at 02:51:43PM -0500, Sundaranathan S wrote:
 
 Hi All,
 
 I have posted a question long back but no reply from anyone. So
 onceagain posting the same question please can anyone tell me
 client error:0: recvmsg: Bad address error.  is coming
 after installing wine. Also if there is any build or binaries for wine
 on solaris intel then please let me know.
 
 Please let me know what is the reason and also the possible
 solution. Thanks in advance. Please reply.

Did you compile WINE for yourself?
Did you try the latest version?

What OS? What Kernel? What glibc?

Ciao, Marcus



Re: Wine

2003-06-19 Thread Marcus Meissner
On Thu, Jun 19, 2003 at 03:21:01PM -0500, Sundaranathan S wrote:
  What OS? What Kernel? What glibc?
 
 - Solaris 9 on Intel. gcc-lib for solaris 9 intel version 3.2.2
 Please let me what could be the reason ... i got stuck up ...

I think just because no one else has tested it on Solaris 9 yet, so it
might just be buggy on Solaris 9.

Ciao, Marcus



Re: How to use CVS Wine?

2003-06-08 Thread Marcus Meissner
On Mon, Jun 09, 2003 at 12:04:05AM +0200, Z_God wrote:
 Op zondag 8 juni 2003 22:57, schreef Mike Hearn:
  If this is on RH9, check you don't have LD_ASSUME_KERNEL set in the
  environment. Running `unset LD_ASSUME_KERNEL` before running Wine should
  suffice (unless wine in this case is actually a script).
 I'm using SuSE 8.2. I'm using regwine (created by the GetWine script) to run 
 CVS regular Wine. Running 'unset LD_ASSUME_KERNEL' anyway before running Wine 
 didn't seem to fix.

Just download the SuSE 8.2 RPMs from SourceForge?

Ciao, Marcus



Re: Add root drive mapping to default config file

2003-06-03 Thread Marcus Meissner
On Tue, Jun 03, 2003 at 12:33:49PM +0200, Lionel Ulmer wrote:
  That would work too. But it's just a general pain in the ass even when
  you know exactly what is going on anyway, it's not like Wine is already
  too convenient to use or anything.
 
 No, but if they users get this error, it means that they did not configure
 Wine properly... So that we are only hiding the problem anyway.
 
 What makes you sure that they will have set a fake C drive properly or
 created the sub-directories and all that stuff ?

My RPMs have a Z drive mapped to /, marked as network drive. The network
drive mark usually make programs refrain from creating Z:\files.

I don't really see a problem, except a virus might go and scan
the whole UNIX system including NFS trees. But the risk is low, and benefits
are greater.

Ciao, Marcus



Re: wine exception handling

2003-06-02 Thread Marcus Meissner
On Sun, Jun 01, 2003 at 03:26:40PM +0200, Martin Fuchs wrote:
 Hi,
 
 I have problems running an application with wine. At startup it tries to read 
 its config file. But it catches up in an endless loop of exceptions.
 The attached trace is generated using --debugmsg +msvcrt,+seh,+file,+dosfs.
 I send only the interesting part of the full trace.
 
 However there is a:
 fixme:seh:EXC_RtlRaiseException call to unimplemented function 
 msvcrt.dll.localeconv
 
 But why does there happen an excpeption anyways?

The missing function is passed up using a standard Win32 exception,
which is handled by the program here.

Oh, and please try this patch:

Ciao, Marcus

Changelog:
Implemented localeconv() by just calling to Linux localeconv().

Index: locale.c
===
RCS file: /home/wine/wine/dlls/msvcrt/locale.c,v
retrieving revision 1.16
diff -u -r1.16 locale.c
--- locale.c12 Feb 2003 21:28:47 -  1.16
+++ locale.c1 Jun 2003 14:49:31 -
@@ -30,6 +30,8 @@
 
 #include wine/debug.h
 
+#include locale.h
+
 WINE_DEFAULT_DEBUG_CHANNEL(msvcrt);
 
 /* FIXME: Need to hold locale for each LC_* type and aggregate
@@ -546,4 +548,36 @@
* arguments to wide strings and then calls LCMapStringW
*/
   return LCMapStringA(lcid,mapflags,src,srclen,dst,dstlen);
+}
+
+/*
+ * localeconv (MSVCRT.@)
+ */
+struct MSVCRT_lconv *MSVCRT_localeconv(void) {
+
+  struct lconv *ylconv;
+  static struct MSVCRT_lconv xlconv;
+
+  ylconv = localeconv();
+
+#define X(x) xlconv.x = ylconv-x;
+  X(decimal_point);
+  X(thousands_sep);
+  X(grouping);
+  X(int_curr_symbol);
+  X(currency_symbol);
+  X(mon_decimal_point);
+  X(mon_thousands_sep);
+  X(mon_grouping);
+  X(positive_sign);
+  X(negative_sign);
+  X(int_frac_digits);
+  X(frac_digits);
+  X(p_cs_precedes);
+  X(p_sep_by_space);
+  X(n_cs_precedes);
+  X(n_sep_by_space);
+  X(p_sign_posn);
+  X(n_sign_posn);
+  return xlconv;
 }
Index: msvcrt.spec
===
RCS file: /home/wine/wine/dlls/msvcrt/msvcrt.spec,v
retrieving revision 1.72
diff -u -r1.72 msvcrt.spec
--- msvcrt.spec 12 May 2003 03:31:16 -  1.72
+++ msvcrt.spec 1 Jun 2003 14:49:32 -
@@ -655,7 +655,7 @@
 @ cdecl labs(long)
 @ cdecl ldexp( double long) MSVCRT_ldexp
 @ cdecl ldiv(long long) MSVCRT_ldiv
-@ stub localeconv #()
+@ cdecl localeconv() MSVCRT_localeconv
 @ cdecl localtime(ptr)
 @ cdecl log(double)
 @ cdecl log10(double)



Re: edit control question

2003-06-01 Thread Marcus Meissner
On Sat, May 31, 2003 at 03:40:55PM -0400, Steven Edwards wrote:
 Hello,
 I am wanting to adapt the WINE edit control for use in ReactOS and I 
 dont understand how the edit control gets called by the application. I 
 have a simple window program that calls the EDIT class and have stubbed 
 out the exported functions but I dont see or understand how EditWndProc 
 gets called from the application. When I look at the imports of my edit 
 control test application this function isnt called but running it I do 
 get a Window I can type text in. I am still really new to this whole 
 programming gig so if I looking in the wrong area please point me in the 
 right direction.

The class EDIT gets registered using RegisterClass, with the window
procedure specified.

So if you CreateWindow() a window with EDIT as the windowclass, then
the class above is used for the window, and the EditWndProc gets called.

Check:

dlls/user/user_main.c:  CLASS_RegisterBuiltinClass( EDIT_builtin_class );

Ciao, Marcus



Re: Bultin OCX?

2003-05-30 Thread Marcus Meissner
On Thu, May 29, 2003 at 05:25:20PM +0100, Mike Hearn wrote:
  They are normally shipped with the app. So would we really need one in Wine?
  
  I think one of the goals of wine is to implement all the functions
  of windows systems, for instance now i'm testing an application
  written in VB that uses both Winsock.ocx and mscomm.ocx (RS-232),
  and I would like to use as builtin libraries/com libraries as possible, instead 
  of using a closed ocx, in which i can't do anything if something
  fails...I know now exists some builtin programs like wine-Notepad or winemine, so 
  i think, the next step is to develop builtin OCX...under
  wine license
 
 OK, that's fine, but be aware that:
 
 * notepad is there because some apps require it
 * winemine is just a simple demo of how to write a WineLib app
 
 ie, Wine is NOT trying to replicate the entirety of Windows.

Err, we are trying that. And a standard winsock OCX falls under the
to be done category for me.

Ciao, Marcus



Re: Application crashes (something to do with OLE 16/32 split)

2003-05-27 Thread Marcus Meissner
On Sun, May 25, 2003 at 10:37:55PM +0100, Mike Hearn wrote:
 This is the trace I get:
 
 Unhandled exception: unimplemented function storage.dll.IStream16_Stat
 called in 32-bit code (0x4126eb7a).
 In 32-bit mode.
 0x4126eb7a (__wine_unimplemented+0x52 [storage.spec.c] in ole32.dll.so):
 jmp0x4126eb74 (__wine_unimplemented+0x4c [storage.spec.c] in
 ole32.dll.so)
 45  static void __wine_stub_StgCreateDocFileOnILockBytes(void) {
 __wine_unimplemented(StgCreateDocFileOnILockBytes); }
 Wine-dbgbt
 Backtrace:
 =0 0x4126eb7a (__wine_unimplemented+0x52 [storage.spec.c] in
 ole32.dll.so) (ebp=41092118)
   1 0x4126edc8 (__wine_stub_IStream16_Clone [storage.spec.c:66] in
 ole32.dll.so) (ebp=41092128)
 
 So we have 3 possibilities for the stub:
 
 * IStream16_Stat
 * StgCreateDocFileOnILockBytes
 * IStream16_Clone
 
 Time to play guess the stub - wholesome fun for all the family! :)

No, it is definitely said what is missing:

Unhandled exception: unimplemented function storage.dll.IStream16_Stat
called in 32-bit code (0x4126eb7a).

Chances are pretty good that StgCreateDocFileOnILockBytes is called
just some lines later though.

Ciao, Marcus



Re: Application crashes (something to do with OLE 16/32 split)

2003-05-27 Thread Marcus Meissner
On Tue, May 27, 2003 at 07:40:07PM +0100, Mike Hearn wrote:
  No, it is definitely said what is missing:
  
  Unhandled exception: unimplemented function storage.dll.IStream16_Stat
  called in 32-bit code (0x4126eb7a).
  
  Chances are pretty good that StgCreateDocFileOnILockBytes is called
  just some lines later though.
 
 Why does the backtrace show a different function altogether?

Because the debuginfo is not complete in the generated files I think.

Ciao, Marcus



Re: OLE storage SetFilePointer fix

2003-04-12 Thread Marcus Meissner
On Sat, Apr 12, 2003 at 11:07:11PM +0200, Andreas Mohr wrote:
 Hi all,
 
 the OLE storage code basically disabled itself, by doing a
 READ_HEADER;
 in STORAGE_get_pps_entry().
 This READ_HEADER uses -1 as block number for STORAGE_get_big_block()
 (in order to retrieve the storage header block).
 And if you look at the SetFilePointer() in STORAGE_get_big_block(),
 you might notice that (n+1)*BIGSIZE for some strange reason evaluates
 to 0, for n == -1.
 Thus, SetFilePointer() seeks to position 0 to read the storage header.
 
 And now I'm terribly sorry to tell you that STORAGE_get_big_block()
 did a
 if (!SetFilePointer( hf, (n+1)*BIGSIZE, NULL, SEEK_SET ))
 {
 WARN( seek failed (%ld)\n,GetLastError());
 return FALSE;
 }
 
 Sounds like SetFilePointer() is *supposed* to return 0 if it seeks to
 position 0, eh?
 
 In other words:
 - fix blatantly wrong SetFilePointer() calls

The 16bit storage code is probably not safe to work with, for instance
saving is probably not working.

It should call forward to the 32bit storage code, which I think
is more correct.
 
Ciao, Marcus



Re: Oleaut32 Debug Messages

2003-03-12 Thread Marcus Meissner
On Thu, Mar 13, 2003 at 01:05:21AM -0500, Dimitrie O. Paun wrote:
 On March 11, 2003 05:49 pm, Jon wrote:
  -   if (debugout) MESSAGE(%lx,*arg);
  +   if (debugout) TMSG2(%lx,*arg);
 
 This is just too ugly! Please don't do such code uglification
 to save a few bytes. Beyond that, why isn't this file using
 the standard TRACE macro? MESSAGEs should be very rare, and
 are intended for the user, as such there's no need to compile
 them out, ever.

It is constructing lines of debugoutput out of different pieces.
How to do that with TRACE?

Ciao, Marcus



Re: (5th) Janitorial dlls/advapi32/registry.c W-A cleanup

2003-03-09 Thread Marcus Meissner
 Hope this one makes everyone happyg
 Change Log: Janitorial. Get rid of W-A calls
 
 Files Changed: dlls/advapi32/registry.c
 
 -- 
 
 Tony Lambregts
 

 Index: Makefile.in
 ===
 RCS file: /home/wine/wine/dlls/advapi32/Makefile.in,v
 retrieving revision 1.17
 diff -u -r1.17 Makefile.in
 --- Makefile.in   25 Oct 2002 19:17:33 -  1.17
 +++ Makefile.in   10 Mar 2003 06:22:56 -

 -IMPORTS   = kernel32 ntdll
 +IMPORTS   = kernel32 ntdll user32

This creates a circular dependency advapi32 - user32 ?

Ciao, Marcus



Re: Patch Ole32 - More 16/32 Splitting

2003-03-03 Thread Marcus Meissner
On Mon, Mar 03, 2003 at 12:41:38PM -0500, Steven Edwards wrote:
 I dont know if this is right. So i figured I would submit and ask...
 
 Can you use CLSIDFromProgID rather then CLSIDFromProgID16 here? I have 
 not really looked at any of these functions before.

You can't.

The 16 version uses 8bit strings, the ole32 version uses 16bit strings.

Ciao, Marcus



Re: GlobalInterfaceTable?

2003-03-02 Thread Marcus Meissner
On Sun, Mar 02, 2003 at 07:15:16PM +, Mike Hearn wrote:
 Hi,
 
 As part of a program that creates an instance of MSXML2.DOMDocument, I
 get the following errors:
 
 fixme:ole:CoCreateInstance no classfactory created for CLSID
 {0323---c000-0046}, hres is 0x80040154
 fixme:ole:CoCreateInstance no classfactory created for CLSID
 {6c736db1-bd94-11d0-8a23-00aa00b58e10}, hres is 0x80040154
 
 (actually there are some more beforehand, but they don't seem fatal).
 
 Anyway, the first one seems to be StdGlobalInterfaceTable, which MSDN
 indicates should be implemented by Windows. Is this right, and if so,
 does Wine implement it? I grepped the sources and the only mention is in
 an IDL file, so I'd assume not.

It is not implemented yet.

Should not be hard though. It belongs to OLE32 I guess.

- winedefault.reg entries.
- add to OLE32_DllGetClassObject().
- add a brief static implementation of IGlobalInterfaceTable and return
  that.

Ciao, Marcus



Re: Consoles (1/3)

2003-03-01 Thread Marcus Meissner
On Sat, Mar 01, 2003 at 10:22:13AM -0800, Dan Kegel wrote:
 Eric Pouech wrote:
 
 So what's new?  Copy and paste from wineconsole has always
 defeated me.  It has literally never worked properly.
 All the backtraces I've posted have been done using redirection.

Err, just press Shift and the select the area you want to copy.

Ciao, Marcus



Re: gcc 3.2.2?

2003-02-24 Thread Marcus Meissner
 Gregory M. Turner wrote:
 So, what can I expect from wine and gcc322?  Any known interestingnesses?
 Anyone even tried it? Presumably, since the threading magic needs to be in 
 the
 kernel (I run a modified linux-2.4.21-pre4-ac5 atm), I will not get the 
 pthread bug...

Wine even compiles and works fine with the gcc 3.3 branch. It also
compiles with 3.4 branch, but I have not tested it with it yet (I think
it will also work).

So gcc version is not a problem.

Ciao, Marcus



Re: Problem with recent builds under RH8.0

2003-02-18 Thread Marcus Meissner
On Tue, Feb 18, 2003 at 02:13:35PM +0100, Lionel Ulmer wrote:
  As I said, my GL headers come from the CVS pull from the DRI, not from 
  any pre-packaged headers.
 
 Well, I think the problem comes from one of your OpenGL headers... Can you
 do a 'grep GL_VERSION_1_3' in your GL headers (mostly GL.h I think).
 
 From what I suspect, you will get something like this :
 
 #define GL_VERSION_1_31
 
 The problem is that your OpenGL library is NOT implementing GL 1.3 (as shown
 in your glxinfo output). This means that you have a mismatch between your
 system headers and your library.
 
 This could be considered as a bug to report to the DRI people (if they
 really provide a gl.h which defines GL_VERSION_1_3, they should also provide
 a library with all OpenGL 1.3 entry points).
 
 We *could* fix this in Wine by adding yet another configure check (or going
 the full 'GetProcAddress' way which would be needed if we wanted a nice
 OpenGL packaged Wine) but well, sometimes enough is enough and stuff should
 be fixed outside of Wine and respecting the rules instead of adding yet
 another work-around.

I have the same problem, Mesasoft headers are used during compile, but
the xf86glx libraries are installed. The former are 1.3, the latter not
which leads to that problem.

Ciao, Marcus




Re: Resources and more with Darwin

2003-02-18 Thread Marcus Meissner
 First, windres supports any conversions between .rc, .res, .o 
 files, whereas wrc supports only .rc - .res. It would be 
 interesting (from the Winelib point of view) to also support 
 .rc and .res - .o. The other transformations supported by 
 windres (.o - .res - .rc) are not as interesting, as they 
 are not used in the build process.  
 from: 
 http://www.winehq.com/hypermail/wine-devel/2002/12/0168.html 
 
 I would like to know if you still plan this. I mean do you plan to use 
 wrc instead of windres? 

Hmm, as of now we use the winebuild tool to convert the .res files
into the C structure bytecode, so we have the .res - .o in
a fashion.

Ciao, Marcus




Re: Resources and more with Darwin

2003-02-16 Thread Marcus Meissner
On Sun, Feb 16, 2003 at 06:22:56PM +0100, Pierre d'Herbemont wrote:
 Hi all!
 
 I am trying to build wine onto Max OS X/Darwin. I am getting trouble 
 with windres and the *.res files. I would like to know if it would be 
 possible to have winelib running without those resources, I mean, could 
 I build a program and link it fine without those resources?

What trouble?

It should just work, be basically just convert bytestreams into a
C file.
 
 In a second time I would like to know if you plan to use wrc as the 
 only (without windres) resource manager. I have read in the list 
 something like that, could you give me the confirmation?

Huh?

 Also I would like to know in which measure is the Elf file format 
 implicated in wine (in opposition to darwin's mach-o).

It is not, but basically we require shared libraries of some kind.

Ciao, Marcus




Re: wine/ win32/device.c server/trace.c server/tim ...

2003-02-16 Thread Marcus Meissner
On Sun, Feb 16, 2003 at 02:09:30PM -0800, Dan Kegel wrote:
 Eric Pouech wrote:
 ;-) anyway, Uwe's patch doesn't fix all the issues I have here (it seems 
 there is still an initialized pointer around)
 
 Another reason to look forward to the coming unification
 of wine threads with NPTL threads: getting Valgrind running
 will be easier...

Which will not help at all with filedescriptors.

Ciao, Marcus




Re: Crash in MSVCRT_type_info_name

2003-02-09 Thread Marcus Meissner
On Sun, Feb 09, 2003 at 06:29:14PM +0100, Uwe Bonnes wrote:
 Hallo,
 
 Altera Quartus crashes soon after start when run with builtin msvcrt:
 0009:Call msvcrt.?name@type_info@@QBEPBDXZ(0062) ret=407ec69a
 trace:msvcrt:MSVCRT_type_info_name trace:seh:EXC_RtlRaiseException
 code=c005 flags=0 addr=0x402a680b
 trace:seh:EXC_RtlRaiseException  info[0]=
 trace:seh:EXC_RtlRaiseException  info[1]=006a
 
 I didn't see where the argument(0062) comes from.
 
 Any ideas?

Well, however we implemented this function, we most likely did it wrong
I would guess.

Ciao, Marcus




Re: cvs wine + win2k ole + installshield = unhappy

2003-02-08 Thread Marcus Meissner
On Sat, Feb 08, 2003 at 03:48:37AM -0800, Dan Kegel wrote:
 Dan Kegel wrote:
 An installer made with plain old Installshield 6.
 ...
 Start the installer (SETUP.EXE) with the command
 $ wine --dll compobj,storage,ole,ole2,ole32,oleaut32,rpcrt4=n SETUP.EXE
 
 OK, I have more data.  wine-20030115 works without any DLL overrides;
 cvs wine requires overrides, otherwise it hangs after a while.
 This is a regression.

Yes, someone else spotted it already. One patch is breaking named pipes.

Ciao, Marcus




Re: cvs wine + win2k ole + installshield = unhappy

2003-02-07 Thread Marcus Meissner
On Fri, Feb 07, 2003 at 01:52:34PM -0500, Vincent Béron wrote:
 Dan Kegel a écrit:
 Roderick Colenbrander wrote:
 
 Installing IS6 installers is not very hard on Wine. You don't need any 
 windows dlls. You need to have the winedefault.reg file installed and 
 after that you need stdole32.tlb from windows. For the rest no native 
 files are needed.
 
 
 
 Does
   ./tools/wineinstall
 properly install winedefault.reg?
 
 It does install it (or did last time I used it, and those lines are 
 still in it).
 
 If so, then it looks like you might be mistaken.  Shall I file a bug
 report?

Please give us full error messages and/or detailed descriptions.

Ciao, Marcus




Re: Started playing with Wineserver on mingw/cygwin again

2003-02-06 Thread Marcus Meissner
 Do we have a definitive explanation of just how bad the current
 wine/pthread incompatibilities are, and/or where current efforts are at?
 I'd not known there were any efforts to get wine working with nptl
 (hence my perhaps exaggerated alarm) until the link to Ingo's kernel
 patch was posted (aug2002 moreover) which suggests at least that some
 people *are* working on this (phew). I would be very grateful to know
 what the status is. Anyone? TIA.

There are no known current efforts.

However I talked to Ulrich today and he said (and I agree) that it
will be way easier to implement threading on top of (nptl) pthreads
today.

Just no one started/did it yet.

And we do not need the glibc developers, the ball is in our park ;)

Ciao, marcus




Re: Started playing with Wineserver on mingw/cygwin again

2003-02-06 Thread Marcus Meissner
On Thu, Feb 06, 2003 at 03:31:52PM -0600, Chris Tooley wrote:
 On Thu, 2003-02-06 at 15:10, Alexandre Julliard wrote:
  Geoff Thorpe [EMAIL PROTECTED] writes:
  
   Do we have a definitive explanation of just how bad the current
   wine/pthread incompatibilities are, and/or where current efforts are at?
   I'd not known there were any efforts to get wine working with nptl
   (hence my perhaps exaggerated alarm) until the link to Ingo's kernel
   patch was posted (aug2002 moreover) which suggests at least that some
   people *are* working on this (phew). I would be very grateful to know
   what the status is. Anyone? TIA.
  
  I've been in touch with Ingo, and I'm looking into the issue. However
  I'm currently moving, so things are a bit hectic around here, and I
  don't have good internet access. Hopefully things will settle down a
  bit soon so that I can get some real work done...
 
 I realize that this discussion is targeted at a real solution to the
 problem, however some of us are already in the situation and are too
 dumb to know how to deal with it.  On the RedHat Phoebe (Beta versions
 already exhibit this problem) it was said that using
 LD_ASSUME_KERNEL=2.2.5 would solve the problem but that didn't work for
 me.  However, there was a workaround on the vmware newsgroup (vmware is
 afflicted with a similar disease) that preloads a small .so to make it
 work.  This might be useful for some people.  I've used it with some
 success on my installation of wine.  I've attached the modified
 newsgroup posting below in case someone else would like it.

I posted the same thing 2 weeks ago on wine-patches if someone 
wants to go that way for now ;)

It will not work when the NPTL threading is enabled, see the other
discussions.

Ciao, Marcus




Re: Started playing with Wineserver on mingw/cygwin again

2003-02-05 Thread Marcus Meissner
On Wed, Feb 05, 2003 at 09:00:27AM -0500, Dimitrie O. Paun wrote:
 On February 5, 2003 03:36 am, David Fraser wrote:
  Under cygwin, there is no clone call as far as I can make out ... there is
  pthreads support and there is hackish support for fork.
 
 Do threads in Cygwin's pthreads map one-to-one to Windows threads?
 
  Can Wine use pthreads to implement its threading?
 
 I'm curious about that myself, Alexandre was saying that we have to do it,
 to accommodate the new glibc threading changes. I'd say this is a top issue
 since I expect the new glibc to make it's way into distributions fairly
 soon (maybe by RedHat 9.0), and which point we'll be in a lot of trouble.
 What's the thinking on this, currently?

No, Redhat Phoebe is affected already (is that 8.1?). Shipping soon.

Ciao, marcus




Re: infinite loop in msvcrt dll

2003-02-02 Thread Marcus Meissner
On Sun, Feb 02, 2003 at 12:34:53AM +0100, Michael Stefaniuc wrote:
 Hello,
 
 when starting ACT!2000 with wine the program freezes after the main
 window is brought up and one wine process goes mad and eats all the cpu.
 Running strace on that pid dosn't show any system call and even the
 relay output stops. I've attached with gdb to the wine process and got a
 backtrace with 3569 entries. I've captured the output with screen and
 attached it. Seems to be a loop in an exception handler (sigsegv's over
 and over again). I hope that somebody can do more with the output.
 The last entries in the relay output are tons of:
 0009:Call kernel32.TlsGetValue() ret=405d833e
 0009:Ret  kernel32.TlsGetValue() retval=402a7810 ret=405d833e
 0009:Call msvcrt.__CxxFrameHandler(403821f0,40592c60,4038226c,40382180) 
ret=400c42b7 fs=008f
  eax=179c3008 ebx=400f6204 ecx=4010de20 edx=40382d54 esi=403821f0 edi=400f5fe1
  ebp=40382150 esp=40382124 ds=002b es=002b gs=0007 flags=0246
 0009:Ret  msvcrt.__CxxFrameHandler() retval=0001 ret=400c42b7 fs=008f
  eax=0001 ebx=400f6204 ecx=4010de20 edx=40382d54 esi=403821f0 edi=400f5fe1
  ebp=40382150 esp=40382124 ds=002b es=002b gs=0007 flags=0246
 0009:Call msvcrt.__CxxFrameHandler(403821f0,40592ce8,4038226c,40382180) 
ret=400c42b7 fs=008f
  eax=179c3030 ebx=400f6204 ecx=4010de20 edx=40382d54 esi=403821f0 edi=400f5fe1
  ebp=40382150 esp=40382124 ds=002b es=002b gs=0007 flags=0246
 
 In the -debugmsg +msvcrt output i see some:
 warn:msvcrt:msvcrt_mbc_to_wc MultiByteToWideChar failed on 73
 lines, but i suspect this is not the problem.
 When running with -dll msvcrt=n the error dosn't occur.
 
 Any tips how to debug this further?

This is usually a missing function in msvcrt. Run with -debugmsg +seh
and check the output directly before the RaiseException.

Ciao, Marcus




Re: Avoiding tempnam (in favor of mkstemp)

2003-02-02 Thread Marcus Meissner
On Sun, Feb 02, 2003 at 06:12:06PM -0500, Dimitrie O. Paun wrote:
 On February 1, 2003 03:31 am, Gerald Pfeifer wrote:
  We have had some (security-relevant) warning regressions for the following
  two programs in tools:
 
 There's no regression -- these utilities have been using tempnam() from 
 their very beginnings... :)
 
  Would you mind using mkstemp() instead of tempnam()?
 
 I'm afraid that's not possible. I need a file name to pass to other
 processes, not a file descriptor.  Any other suggestions?

mkstemp returns both filename and descriptor, it modifies
the passed argument array. There is just the caveat that it needs
the filename to end with XX.

Ciao, Marcus




Re: common file dialogs

2003-01-31 Thread Marcus Meissner
On Fri, Jan 31, 2003 at 10:56:28AM +, Mike Hearn wrote:
 Hi,
 
 Is there a reason that:
 
 a) The Wine open/save dialog boxes don't show or follow symlinks and 
 b) They show dotfiles?
 
 I seem to recall a discussion on wine-devel way back on the topic of
 dotfiles, but a quick archive search didn't turn up much of use. At the
 very least I think it should be a pref, wading through lots of dotfiles
 in your home dir makes it much harder to open files with wine, and
 obviously non-technical users will wonder what is going on with all
 these stranges folders that I never made..

Check out the config file:

[wine]
;ShowDirSymlinks = 1
;ShowDotFiles = 1

Ciao, Marcus




Re: open_master_socket ???

2003-01-26 Thread Marcus Meissner
On Mon, Jan 27, 2003 at 01:00:46AM +0400, Auge Mike wrote:
 
 /* open the master server socket and start waiting for new clients */
 open_master_socket
 
 Who can explain for me the task of the above function in more words?
 
 Why we need to do fork() inside this function, although the parent of this 
 process will terminate after the child do call acquire_lock()?

To daemonize the server process (detach it from the current session group),
so it is not affect by signals or similar from it. See 'man setsid'.

Ciao, Marcus




Re: Unhandled exception in VB app Yardi Property Management

2003-01-25 Thread Marcus Meissner
On Sat, Jan 25, 2003 at 12:06:10AM -0800, Dan Kegel wrote:
 A local company wants to run Yardi Professional Property Management,
 a VB app that doesn't use Access, under Wine.  (See http://www.yardi.com.)
 
 I tried it under CVS wine as of a few days ago.
 Happily, the setup program completes, with just a few warnings
 and one 'illegal function call' vb dialog box, e.g.
 err:ddeml:WDML_CreateString Unknown code page 437
 err:module:BUILTIN32_LoadLibraryExA loaded .so but dll commdlg.dll still 
 not found - 16-bit dll or version conflict.
 ...
 Not bad, I guess; after all, setup did run all the way to the end.
 
 Problem came when I tried running the app.  It gets an unhandled
 exception -- and oddly, the wine debugger refused to run.
 
 [dank@boogie PMWPROG]$ wine --debugmsg +wc_font Y.EXE
 err:fixup:NE_LoadSegment No implementation for HEDLG.26, setting to 
 0xdeadbeef
 err:fixup:NE_LoadSegment No implementation for HEDLG.27, setting to 
 0xdeadbeef
 fixme:hook:SetWindowsHookEx16 System-global hooks (7) broken in Win16
 fixme:hook:SetWindowsHookEx16 System-global hooks (2) broken in Win16
 wine: Unhandled exception, starting debugger...
 trace:wc_font:WCUSER_SetFontPmt = LMisc Fixed h=13 w=0
 trace:wc_font:WCUSER_DumpLogFont InitFamily:  truetype
 lf.lfHeight=99 lf.lfWidth=97 lf.lfEscapement=0 lf.lfOrientation=0
 lf.lfWeight=400 lf.lfItalic=0 lf.lfUnderline=0 lf.lfStrikeOut=0
 lf.lfCharSet=0 lf.lfOutPrecision=3 lf.lfClipPrecision=2 
 lf.lfQuality=1
 lf-lfPitchAndFamily=18 lf.lfFaceName=LAdvMICR
 err:wineconsole:WINECON_Fatal Couldn't find a decent font, aborting
 
 Editing ~/.wine/config and changing UseXTerm to 0 helped there.
 (And what the hell, I can never get wine debugger copy-and-paste to work
 properly with that at its default value, so it's just as well.)
 The error was:
 Unhandled exception: privileged instruction in 16-bit code (25f7:0ca4).
 Backtrace:
 =0 0x25f7:0x0ca4 (bp=6cd4)
   1 0x00f7:0x (bp=6d1c, far call assumed)
   2 0x407cf7dd (K32WOWCallback16Ex+0x45(vpfn16=0x25f70c78, dwFlags=0x0, 
   cbArgs=0x18, pArgs=0x40e12b90, pdwRetCode=0x40e12b88) [wowthunk.c:298] in 
   kernel32.dll.so) (ebp=40e12b68)
   3 0x412d8005 (StgIsStorageILockBytes16+0x75(plkbyt=0x26ff0042) 
   [storage.c:1716] in ole32.dll.so) (ebp=40e12bbc)

Now this should work. What does -debugmsg +relay,+ole say just before the crash?

However, if it will try to create a IStorage interface later (most certainly)
it will just fail, I did not come around to implement it yet.

You still have to use: -dll compobj,storage,ole...=n 

Ciao, Marcus




Re: PATCH: glibc 2.3.x and errno

2003-01-25 Thread Marcus Meissner
On Sat, Jan 25, 2003 at 04:43:09AM -0800, Francois Gouget wrote:
 On Fri, 24 Jan 2003, Ulrich Weigand wrote:
 [...]
  This means that C source code compiled against the new headers will
  result in assembler code that *directly* accesses a thread-local
  variable as defined by the TLS ABI.  In the case of errno, this
  will involve accessing the %gs segment using an offset from the GOT,
  without any function call being performed.  (errno is defined to use
  the initial-exec TLS storage model.)
 
 I probably only have a limited understanding of these threading
 problems. However I had an idea and this limited knowledge lead me to
 believe that it might work and so now I have to inflict it on the
 worldg.
 
 So basically the problem as I understand it is that both Linux libraries
 and some Windows applications believe that the %gs register points to a
 TLS structure, except that these two structures are not compatible.

No, this is just a side problem only for 16bit applications.

The problem is different.

Lets have a small example:

wine does:
#include errno.h
...
ret = mkdir(/blub/);
if (ret == -1) {
fprintf(stderr,mkdir failed with errno %d\n,errno);
exit(1);
}

In 1980 this was rather nice and worked all the time with the nice global 'errno'
integer variable. However, someone had to invent multi threading.

After this, errno could not stay a global integer variable, since you could get
into race conditions writing/accessing it. Sinc millions of lines of code
could not be changed, the errno.h header was changed to defined it as:

extern int *__errno_location();
#define errno *(__errno_location())

With __errno_location (or similar) a function that returns a pointer to an
integer variable within the thread local storage area.

(The same goes for __h_errno_location and other internal functions.)

The glibc implementation basically does:

... convert registers ... 
int 0x80
jae error
lret...
error:
...
lcall __errno_location
mov errorcode , ($eax)
...
lret

glibc follows the pthread style of threading, at the time WINE needed threading
implemented by SIGALRM timers within a single process (clone(2) was not invented
yet).

As WINE started Win32 threading the clone(2) handler was available for us and
we implemented our own kind of threading, Windows style. glibc however does not
know a single thing about that and still assumes there is no threading and
had __errno_location return a single pointer. 

So we had to overwrite __errno_location(), which was easy possible, since libpthread
also did so and it was exported as weak symbol meant to be overwritten.

However with glibc 2.3 the internal thread representation changed, most pthread
libraries now use clone(2) too, and use a new way of Thread Local Storage, 
using a segment register. Since WINE was using %fs, they chose to use %gs.

Now a system call looks like:
... convert registers ... 
int 0x80
jae error
lret...
error:
...
mov errorcode , %gs:(offset)
...
lret

So we no longer can overwrite __errno_location to have our own errno storage, so
we need to cooperate with the libc threading.


Ciao, Marcus




Re: debugger detection in newbin.

2003-01-23 Thread Marcus Meissner
On Thu, Jan 23, 2003 at 10:12:32AM +0100, Rein Klazes wrote:
 Hi,
 
 The latest version of newsbin 4.1B5 refuses to run, displaying
 debugger or monitoring tool detected.
 
 The detection code is very simple, immedeately at the program entry
 point 0x516000 it does (intel syntax):
 
 | Disassembly of 0x00516000
 | 0x51600D: 64A02300   mov  al,fs:[0x23]  
 | 0x516013: EB03   jmp  0x516018  
 | ;***
 | 0x516018: 84C0   test al,al 
 | 0x51601A: EB03   jmp  0x51601f  
 | ;***
 | 0x51601F: 7567   jnz  0x516088  
 
 This jump is taken and leads immedeatly to the messagebox displaying the
 message above.
 
 Any idea's and/or explanation?

Well, we store the thread pid there, see thread.h:

DWORDpid;/* !2-  20 Process id (win95: debug context) */

Try to move the pid somewhere else and mark this field as unused.

Ciao, Marcus




Re: PATCH: kernel / errno testing

2003-01-22 Thread Marcus Meissner
On Wed, Jan 22, 2003 at 12:49:50PM -0800, Francois Gouget wrote:
 On Wed, 22 Jan 2003, Dan Kegel wrote:
 
  Marcus Meissner wrote:
   Hi,
  
   glibc 2.3.current CVS is throwing a huge stone in our direction,
   it no longer allows overload of __errno_location.
  
   To visualize this problem I have added this testcase.
  ...
 sched_yield(); /* will not change errno */
 
  BTW sched_yield() is allowed to be a no-op; would nanosleep()
  or something like that be a better choice?
 
 Even better, can we achieve the same effect with a Win32 function? Maybe
 Sleep(10) (milliseconds) or something like it? It seems like it should
 be possible to write this without any platform dependent code.

The problem is to avoid functions that might change 'errno'.
Almost all could do that, we want to avoid that. nanosleep() might be ok.

Ciao, Marcus




Re: Installshield 6 crash: ole trouble

2003-01-22 Thread Marcus Meissner
On Wed, Jan 22, 2003 at 01:50:36PM -0800, Dan Kegel wrote:
 Marcus Meissner wrote:
 IIRC, InstallShield 6 can work if you copy stdole32.tlb from a real 
 windows to wine's system directory.  
 
 I will add a large message suggesting that.
 
 Thanks.  (I'm also looking forward to the possibility of
 wine having its own stdole32.tlb soon.)
 
 It looks like there's a Heisenbug here.  If I run without
 logging, I get a window titled Unhandled Exception,
 with contents
 Error Number: 0x80040706
 Description: Object reference not set
 Setup will now terminate.
 
 
 I have seen this on and off, but I thought I fixed it.
 
 Interestingly, under wine20020605, I am able to complete
 the installation program.  Thus we seem to have a regression.
 Which would be more helpful: me tracking down which patch
 caused the regression, or me sending some more knowledgeable
 person a minimal test case?

Hmm, I think binary search for the broken patch would be easier.

Ciao, Marcus




Re: Buiz talk

2003-01-21 Thread Marcus Meissner
On Tue, Jan 21, 2003 at 09:32:45AM +0100, Uwe Bonnes wrote:
 Hallo,
 
 on 
 http://www.vnunet.com/News/1138118
 Suse's Dan Homolka is cited with:
  Dan Homolka, technical sales manager at SuSE, claimed that the vendor's
  Linux environment actually runs Microsoft Office faster than Windows mainly
  because Linux is much better at context-switching.

Well, you know sales statements, piped through unreliable reporters etc.

The announcement does not include that statement:
(englisch)
http://www.suse.de/en/private/products/suse_linux/office_desktop/index.html
(german)
http://www.suse.de/de/private/products/suse_linux/office_desktop/index.html

 Suse Window support is based on Codeweavers Cross Office. 

Yes.
 
 Does this stand a real world test?

Well, we hope so.

Ciao, Marcus (end of advertisement ;)




Re: Installshield 6 crash: ole trouble

2003-01-21 Thread Marcus Meissner
On Tue, Jan 21, 2003 at 09:43:29AM +, Mike Hearn wrote:
 Would this be fixed by the work that's being done on Wines RPC
 implementation?

This is a different implementation, when it is finished ... yes.

The current implementation should be capable of doing that too.

 Why exactly does an installer require such complex parts of OLE anyway?
 That seems like overkill for a self-extracting exe to me.

No clue.

Ciao, Marcus




Re: Installshield 6 crash: ole trouble

2003-01-21 Thread Marcus Meissner
On Tue, Jan 21, 2003 at 04:26:28PM +0100, Sylvain Petreolle wrote:
 what are the missing functions that live in stdole2.tlb ?
 is someone trying to implement it ?

The TLB is a typelib file, which is compiled from a .IDL file.

So widl needs to generate it at one point.

Ciao, Marcus




Re: Stdole32.tlb (was: Installshield 6 crash: ole trouble)

2003-01-21 Thread Marcus Meissner
  And what's wrong with importing lots of structures,
  if unused typedefs aren't stored in the type library?
 
 The main problem is that the typelibs import all kinds of stuff. Stdole2.tlb
 imports declarations from guiddef.h, oaidl.idl, unknwn.idl, ocidl.idl,
 olectl.h, plus some functions and interfaces that are not in any other file.

 Also, the IFont interface has been slightly modified in the type lib which
 might break an app if it were to use our ocidl.idl version of it.

Huh? How that?

 Is there any point in cluttering our typelib?

In my opinion our typelib should at least contain all of the stdole2/32.tlb stuff.

If there are some more entries, it does not really matter I guess.

   Where should I put such a file?
 
  I'd go for dlls/oleaut32. Standard ole32 has no need for typelibs, they're
  a feature of oleaut32.
 
 I'll wait a bit longer for opinions from a few more people, although your
 logic about type libs being an oleaut32 feature seems right to me.

Go ahead with what you consider best.

My acceptance criteria would be basically 'InstallShield v6 still works' ;)

Ciao, Marcus




Re: Installshield 6 crash: ole trouble

2003-01-20 Thread Marcus Meissner
On Mon, Jan 20, 2003 at 11:12:29PM -0800, Dan Kegel wrote:
 Dan Kegel wrote:
 Bobby Bingham wrote:
 
 IIRC, InstallShield 6 can work if you copy stdole32.tlb from a real 
 windows to wine's system directory.  

I will add a large message suggesting that.

 Yep, copying just that one file made things get a lot further!
 After futzing around for half an hour, I finally convinced our
 app to install.  There appear to be a lot of rough edges
 here; I had to turn on ole logging and run just the extracted
 setup.exe (not the package-for-the-web wrapper) to get
 things to work
 
 It looks like there's a Heisenbug here.  If I run without
 logging, I get a window titled Unhandled Exception,
 with contents
 Error Number: 0x80040706
 Description: Object reference not set
 Setup will now terminate.

I have seen this on and off, but I thought I fixed it.

Ciao, Marcus




Re: 1995-era installshield woes - foreground window never appears

2003-01-19 Thread Marcus Meissner
On Sun, Jan 19, 2003 at 06:02:31PM -0800, Dan Kegel wrote:
 All the installshield stuff in the msvc4 installer
 seems to work -- except the Data Access Objects
 installer. When you run it, you get to the first
 screen with a big blue background, but the foreground
 window never shows up. It's probably there, but
 invisible, or something. Alt-tab doesn't help, and
 the blue background is full-screen, so you can't
 try moving it out of the way.   I have to alt-tab and ^C
 (why that works, I dunno) to get out.
 
 Any suggestions?  I'm having trouble figuring out how
 to track this down; win32 gui problems aren't my forte.

Catch them in a desktop window for now:

Ciao, Marcus

Index: documentation/samples/config
===
RCS file: /home/wine/wine/documentation/samples/config,v
retrieving revision 1.37
diff -u -u -r1.37 config
--- documentation/samples/config13 Dec 2002 02:26:18 -  1.37
+++ documentation/samples/config20 Jan 2003 06:37:18 -
@@ -277,6 +277,20 @@
 ;UseDnsComputerName = N
 
 ;; sample AppDefaults entries
+
+; 3 InstallShield versions who like to put their full screen window in front,
+; without any chance to switch to another X11 application.
+; So just catch them in a desktop window.
+
+[AppDefaults\\_INS5576._MP\\x11drv]
+Desktop = 640x480
+
+[AppDefaults\\_INS5176._MP\\x11drv]
+Desktop = 640x480
+
+[AppDefaults\\_INS0466._MP\\x11drv]
+Desktop = 640x480
+
 ;[AppDefaults\\iexplore.exe\\DllOverrides]
 ;shlwapi = native
 ;rpcrt4 = native




Re: Patch for Wine-20030115 GetFreeSpace on Solaris 8 x86

2003-01-17 Thread Marcus Meissner
On Fri, Jan 17, 2003 at 06:03:35PM -0500, John Wehle wrote:
 wine ie5setup reports it can't determine the free disk space.
 truss shows statfs failed with EOVERFLOW and sys/statfs.h
 says:
 
  * Structure returned by statfs(2) and fstatfs(2).
  * This structure and associated system calls have been replaced
  * by statvfs(2) and fstatvfs(2) and will be removed from the system
  * in a near-future release.
 
 This patch allows wine ie5setup to at least startup.  A cleaner
 patch would probably use an explict autoconf check for statvfs
 in addition to checking for sys/vfs.h.
 
 ChangeLog:
 
 Fri Jan 17 18:02:37 EST 2003  John Wehle  ([EMAIL PROTECTED])
 
   * files/drive.c (DRIVE_GetFreeSpace): Use statvfs
   on systems which have sys/vfs.h.

This will break on Linux, it has have sys/vfs.h but no statvfs.

Better use an autoconf check for the 'statvfs' function and use the result.

 + #ifdef HAVE_SYS_VFS_H

Use #ifdef HAVE_STATVFS

 + struct statvfs info;
 + #else
   struct statfs info;
 + #endif

 *** 1297,1305 
   return 0;
   }
   
 ! /* FIXME: add autoconf check for this */
 ! #if defined(__svr4__) || defined(_SCO_DS) || defined(__sun)
 ! if (statfs( DOSDrives[drive].root, info, 0, 0)  0)
   #else
   if (statfs( DOSDrives[drive].root, info)  0)
   #endif
 --- 1301,1308 
   return 0;
   }
   
 ! #ifdef HAVE_SYS_VFS_H

Dito.

 ! if (statvfs( DOSDrives[drive].root, info)  0)
   #else

Ciao, Marcus




Re: * Hack * for Wine-20030115 DOSFS_Hash on Solaris 8 x86

2003-01-17 Thread Marcus Meissner
On Fri, Jan 17, 2003 at 08:40:30PM -0500, John Wehle wrote:
 wine photoed reports it can't find GIFIMP32.FLT (and friends)
 which prevents images from being imported.  The trace is:
 
 trace:dosfs:DOSFS_GetFullName LC:\\PROGRA~1\\COMMON~1\\MICROS~1\\GRPHFLT\\GIFIM
 P32.FLT (last=0)
 trace:dosfs:DOSFS_FindUnixName /dos,LPROGRA~1\\COMMON~1\\MICROS~1\\GRPHFLT\\GIF
 IMP32.FLT
 trace:dosfs:DOSFS_ToDosFCBFormat (LPROGRA~1\\COMMON~1\\MICROS~1\\GRPHFLT\\GIFIM
 P32.FLT, df621770)
 trace:dosfs:DOSFS_OpenDir /dos
 ...
 trace:dosfs:DOSFS_ReadDir Read: long_name: LProgram Files, short_name: (null)
 trace:dosfs:DOSFS_FindUnixName   checking LPROGRA~1LPROG~FBU   
 
 What happens is DOSFS_Hash hashes Program Files in an unexpected fashion
 which prevents DOSFS_FindUnixName from realizing it matches PROGRA~1   .
 
 The enclosed * hack * allows wine photoed to load images.  It is * not *
 the correct answer.  One possible approach is to modify DOSFS_OpenDir_Normal
 to generate proper short names after it has read all the directory entries.

The proper idea is to install the program using WINE too, so you get the
same hashes into the registry.

Your hack will not work if 2 files hash to the same value.

Ciao, Marcus




Re: Reseting X resolution

2003-01-17 Thread Marcus Meissner
On Sat, Jan 18, 2003 at 01:15:35AM +, Luis Marques wrote:
 Hello all,
 
 I like to test some DirectX applications from time to time. Problem is that 
 they succed long enough to set the resolution but after that fail. I can 
 Ctrl-C the application and resume working but it's not very practial to work 
 on a 320x200 desktop...
 
 How can I restore the resolution? Is there any standard way? Should I just 
 write a few lines of SDL code to set the resolution?

Ctrl-Alt-Numpad+ or Ctrl-Alt-Numpad-

Ciao, Marcus




Re: FHS vs LSB

2003-01-15 Thread Marcus Meissner
On Wed, Jan 15, 2003 at 10:20:29PM -0500, Tom Wickline wrote:
 In updating the Packagers Guide I plan to replace FHS with LSB
 any objections ?
 
 FHS = http://www.pathname.com/fhs/
 
 LSB = http://www.linuxbase.org/

The FHS is a part of the LSB standard.

And we cannot be LSB compliant, we need way more in the matter of system
calls and ioctls than LSB allows ;)

Ciao, Marcus




Re: html browser for wine (khtml)

2003-01-09 Thread Marcus Meissner
On Thu, Jan 09, 2003 at 11:21:18AM -0500, Dimitrie O. Paun wrote:
 On January 9, 2003 12:14 pm, Alexandre Julliard wrote:
  I'd prefer to avoid C++, but if there's no other choice then of course
  we'll have to do it. I'm still hoping that we can find a way to avoid
  duplicating all that code inside Wine, C++ or not.
 
 Well, it seems the only worthy alternatives are Mozilla and KHTML, and
 they are both written in C++. I am 100% with you on the non-duplicating
 bit: even if we get something in the tree, it's not going to be maintained,
 and it will bitrot to fast for words. It would be a huge addition and
 burden to maintain for the Wine project.
 
 Galeon does not include Mozilla -- it uses it. There's got to be a way to
 use KHTML in a similar manner. Even my first hand approximation (using
 the Win32 build of Mozilla) seems like a better option than duplicating
 code. If we get that working, I'm sure we can work with the Mozilla team
 to find a way of embedding the Linux version. Heck, Galeon does it!

Actually there already was a Konqueror / WINE integration already, called
reaktivate. It replaced urlmon and provided a IWebBrowser interface.

Ciao, Marcus




Re: html browser for wine (khtml)

2003-01-09 Thread Marcus Meissner
On Thu, Jan 09, 2003 at 12:28:38PM -0500, Dimitrie O. Paun wrote:
 On January 9, 2003 01:46 pm, Marcus Meissner wrote:
  Actually there already was a Konqueror / WINE integration already, called
  reaktivate. It replaced urlmon and provided a IWebBrowser interface.
 
 Sweet! This is exactly what I was hoping for.
 [...searching for it...]
 Here's the original announcement:
 
 http://dot.kde.org/994747675/
 
 But this seems to be going what cxplugin does. We need the complement
 of that, don't we?

Not sure, it might just work both ways. Will have to go back and check.

Ciao, Marcus




Re: Symbol stripping?

2003-01-09 Thread Marcus Meissner
On Wed, Jan 08, 2003 at 08:59:39AM +, Mike Hearn wrote:
 What does gcc prior to 3.1 do with the -gstabs+ flag? If it ignores it,
 or it's implied anyway, we could just have it always on.
 
 If not then I have some bash here that can parse the output of gcc -v
 and determine whether it's = 3.1, would that be acceptable as a patch
 to configure.ac?
 
 The only other way would be to compile a little test app then run
 objdump on it to figure out if stabs data was included, but testing the
 GCC version would be faster.

I submitted a patch which adds -gstabs to CFLAGS if necessary.

Ciao, Marcus




Re: prevent dereferencing null

2003-01-09 Thread Marcus Meissner
On Thu, Jan 09, 2003 at 05:45:00PM -0800, Bill Medland wrote:
 On January 9, 2003 03:12 pm, Dimitrie O. Paun wrote:
  On January 9, 2003 07:08 pm, Bill Medland wrote:
   +if (!tpinfo-chanbuf) {
   +ERR(tpinfo has no Rpc Channel Buffer\n);
   +return 0;
   +}
 
  Is this expected behaviour? If so, there's no need for the ERR msg.
  If not, there's no need for the test, we need to fix the root cause...
 You are, of course, quite correct.
 I don't know what the expected behaviour is; all I know is that dereferncing 
 the null pointer isn't.
 If someone actually understands all that proxy stuff then maybe they can do 
 something about it.
 If not then I guess it is destined to languish unfixed.

I vaguely remember this happening for inter-thread COM, I did not come around
to debug it yet.

return E_FAIL; might be more appropriate too.

Ciao, Marcus




Re: dlls/Makefile.in

2003-01-07 Thread Marcus Meissner
On Tue, Jan 07, 2003 at 07:17:38AM -0600, Jeff Smith wrote:
 From: Marcus Meissner [EMAIL PROTECTED]
 
 Some not so compatible versions of make only like this variable
 in pattern replacement rules, so this might not work on all
 platforms.
 
 I tried looking into this before submitting the patch, but did not
 come up with anything.  Do you know of any *specific* cases?

I did not find it again off hand.

 And I don't see a reason for this change, these entries are
 generated by a script and who should care if they are longer or not?
 What script?

dlls/make_dlls

Ciao, Marcus




Re: problem building tests with msvc6

2003-01-06 Thread Marcus Meissner
On Sun, Jan 05, 2003 at 12:13:26PM -0800, Dan Kegel wrote:
 Trying to build conformance tests on Windows Me with msdev6,
 but got the following link errors:
 
 safearray.obj : error LNK2001: unresolved external symbol _IID_IStorage
 safearray.obj : error LNK2001: unresolved external symbol _IID_IDispatch
 safearray.obj : error LNK2001: unresolved external symbol _IID_IUnknown
 Output\Win32_Wine_Headers/oleaut32_test.exe : fatal error LNK1120: 3 
 unresolved externals
 
 Any suggestions?  (Sorry to act so helpless...)

Hmm, should be linked against the GUID library. No clue how to do that.
Or we could define the IIDs inline again.

Ciao, Marcus




Re: but report -- the last line tell me do this

2003-01-06 Thread Marcus Meissner
On Mon, Jan 06, 2003 at 06:39:36PM +0800, yf wrote:
 [yf@yf 2002]$ wine ./hexin.exe
 fixme:ole:CoRegisterMessageFilter stub
 fixme:shdocvw:WBPCI2_GetGUID stub: dwGuidKind = 1, pGUID = 
{----}
 fixme:shdocvw:WBPCI2_GetGUID Wrongly returning IPropertyNotifySink interface 
{9bfbbc02-eff1-101a-84ed-00aa00341d07}
 fixme:shdocvw:WBQA_QuickActivate stub: QACONTAINER = 0x40760874, QACONTROL = 
0x407608b4
 fixme:shdocvw:WBPSI_InitNew stub
 fixme:shdocvw:WBCP_Advise stub: IUnknown = 0x4183bfe4, connection cookie = 0
 fixme:shdocvw:WBOOBJ_SetExtent stub: (0x41f0a940, 1, (0 x 0))
 fixme:shdocvw:WBOOBJ_DoVerb : stub iVerb = -5
 fixme:shdocvw:WBOOBJ_DoVerb stub for OLEIVERB_INPLACEACTIVATE
 fixme:shdocvw:WBOC_GetControlInfo stub: LPCONTROLINFO = 0x4183bf84
 fixme:shdocvw:WBOIPO_GetWindow stub HWND* = 0x40760980
 fixme:shdocvw:WB_Invoke stub dispIdMember = -518, IID = 
{----}
 fixme:shdocvw:WBCP_Unadvise stub: cookie to disconnect = 1099153244
 fixme:shdocvw:WBCP_Unadvise stub: cookie to disconnect = 1099153168
 fixme:shdocvw:WBCP_Unadvise stub: cookie to disconnect = 1
 fixme:shdocvw:WBOIPO_InPlaceDeactivate stub
 fixme:shdocvw:WBOOBJ_SetClientSite stub: (0x41f0a940, (nil))
 fixme:shdocvw:WBOOBJ_Close stub: ()

I get as far, than it fscks up its double byte names.

With what 'LANG' var do you run it?

 err:clipping:CLIPPING_UpdateGCRegion hVisRgn is zero. Please report this.

This will do an immediate exit(1); so WINE terminates here. It probably
should not.

Ciao, Marcus




Re: dlls/Makefile.in

2003-01-06 Thread Marcus Meissner
On Mon, Jan 06, 2003 at 01:55:26PM -0600, Jeff Smith wrote:
 Changelog:
  Make use of the automatic variable $ in dll make rules.

 advapi32.dll$(DLLEXT): advapi32/advapi32.dll$(DLLEXT)
-  $(RM) $@  $(LN_S) advapi32/advapi32.dll$(DLLEXT) $@
+  $(RM) $@  $(LN_S) $ $@

Some not so compatible versions of make only like this variable
in pattern replacement rules, so this might not work on all
platforms.

And I don't see a reason for this change, these entries are
generated by a script and who should care if they are longer or not?

Ciao, Marcus




Re: Windows XP conformance test update 1/5

2003-01-05 Thread Marcus Meissner
 oleaut32/safearray reports 8 failures but the page only shows 4 failures.

Simple, I did update these tests after your last run.
 
 C:\winetestsoleaut32_test.exe safearray
 safearray.c:137: Test failed: SAC(20,1,[1,0]), result 8, expected 0
 safearray.c:143: Test failed: SAGE for vt 20 returned elemsize 8 instead of 
 expected 0
 safearray.c:159: Test failed: copy of SAC(20,1,[1,0]), result 8, expected 0
 safearray.c:162: Test failed: SAGE for vt 20 returned elemsize 8 instead of 
 expected 0
 safearray.c:137: Test failed: SAC(21,1,[1,0]), result 8, expected 0
 safearray.c:143: Test failed: SAGE for vt 21 returned elemsize 8 instead of 
 expected 0
 safearray.c:159: Test failed: copy of SAC(21,1,[1,0]), result 8, expected 0
 safearray.c:162: Test failed: SAGE for vt 21 returned elemsize 8 instead of 
 expected 0
 safearray: 958 tests executed, 0 marked as todo, 8 failures.

But these are still the same failures, just twice now.

Ciao, Marcus




Re: Patch/workaround for configure problem

2003-01-05 Thread Marcus Meissner
On Sun, Jan 05, 2003 at 02:41:07PM -0500, Nathan Boyle wrote:
 I don't know whether someone is adding or removing a DLL or
 something[ctl3d doesn't appear to be in the repository], but i had to make
 the following patch in order to configure and compile the wine sources
 that i downloaded from CVS a half hour ago[It is more a work-around then
 a patch]
 The patch is in plain text below.

 -dlls/ctl3d/Makefile

You need to run 'cvs update -PAd' so you get new directories from CVS.

Ciao, Marcus




Re: WinXP conformance test update

2002-12-28 Thread Marcus Meissner
On Fri, Dec 27, 2002 at 05:57:18PM -0500, Dave Miller wrote:
 These tests were run on Windows XP Professional using the latest 
 precompiled binaries.  The results of any tests not listed on or not 
 matching http://fgouget.free.fr/wine/tests-en.shtml

 C:\winetestsoleaut32_test.exe safearray
 safearray.c:131: Test failed: SAC(20,1,[1,0]), result 8, expected 0
VT_I8
 safearray.c:131: Test failed: SAC(21,1,[1,0]), result 8, expected 0
VT_UI8

These results are different for Win2000, there it just returns 0.

 safearray.c:131: Test failed: SAC(37,1,[1,0]), result 4, expected 0
 safearray.c:131: Test failed: SAC(38,1,[1,0]), result 4, expected 0

These have no VARTYPES in our wtypes.idl :/

Does anyone have reference to a newer idl reference?

Ciao, Marcus




Re: Mac OS X Port of WineLib

2002-12-28 Thread Marcus Meissner
On Thu, Dec 26, 2002 at 09:56:01PM -0500, [EMAIL PROTECTED] wrote:
  Hi,
  I dont recall how I stumbled upon Wine and its existance, however I am 
 intersted in recent, if any, devlopments with the porting of Wine to OS X.  I 
 checked the Wine site and most of the articles are dated with the lastest 
 date of Nov 2000.  A lot has changed in OS X since that time and it appears 
 that a leats a couple of the main issues have been addressed during this 
 time.  The main issues which seemed to be posted are as follows:

I fixed the Linux/PowerPC port. So any PowerPC processor related issue
is ok. 


 Current list of possible issues:
 
 - Endianness.  Since we are using WineLib, could
 have resources written in native (big) endian format
 with wrc.  Any external data files such as cursors, bitmaps, sound
 would have to be converted. The PUT_WORD/GET_WORD macros
 need byte swapping turned off. (Did I miss anything?)

Is ok.


 - Exception handling, Signal handling code

Depends on MacOS X.

 - Memory alignment issues

Should not be a problem.

 - According to Inside MacOS X: Kernel Environment
    (A 
HREF=http://developer.apple.com/techpubs/macosx/Kernel/KernelEnvironment.pdf;http://developer.apple.com/techpubs/macosx/Kernel/KernelEnvironment.pdf/A)
    pg. 34, Darwin supports Pthreads, many of the POSIX APIs
    I haven't been able to find any lists of incompatibilities yet,
    but I am afraid of the word many.

WINE needs a different kind of threading, this might be problematic.

 - Sound Support.  Currently done with WineOSS (ties into
    Linux OSS drivers)  Doesn't seem to be a port of OSS
    to MacOSX.  Maybe need to do another layer specific to the
    Mac(?)

Err, we support audio drivers and have several others non-OSS already.
No problem here, just implement a MacOS X sound driver.

 - Must ensure that behaviour of lower level UNIX resources
    like sockets, threads, files are the way WINE expects it.

This might be more difficult. Especially the memory management.

 - Presence of Assembly language in code will have to be written
    in C or translated to PowerPC assembly. (assembly is generated
    in spec.c files, as well as other places like in the server)

Is done already, for the normal PPC32 ABI.

Good luck.

Ciao, Marcus




Re: Wine, Windows.Forms on Linux, GC and segfaults.

2002-12-16 Thread Marcus Meissner
On Wed, Dec 11, 2002 at 01:05:32PM -0500, Miguel de Icaza wrote:
 Hello,
 
   The problem is that by the time that Wine has been initialized,
   using setjmp/longjmp will always lead to a crash.  The code 
   in pthreads
   that performs the longjmp will first try to invoke the pthread cleanup
   routines, and then invoke longjmp.  This never happens.
  
  You can't and needn't link with -lpthread. Wine has its own
  pthread implmentation.
  
  I tried your included code and it works just fine unless you
  link with -lpthread, then it crashes in the same way as in your
  attached picture. But then you should never link Wine with
  -lpthread so that is not really a bug.
  
  Of course Wine pthread implementation it not in any way complete
  so some function might be missing and some might only be only
  partially implemented and of course some might be incorrectly
  implemented.
  
  So please try again without linking with -lpthread.
 
 The problem is that this is very hard for us to do as two of the
 underlying libraries we are using (libmono and libgc) both link against
 pthread to achieve their threading capabilities.
 
 It might be better to investigate what are Wine's requirements for
 having its own pthread implementation, and have those changed pushed to
 the maintainers of pthreads.
 
 In particular, we are interested in using WineLib, maybe it would be
 possible to have WineLib use the standard pthread implementation instead
 of rolling its own?

This would be very difficult.

WINE implements the Win32 threading/process and synchronisation model.
It needs to use the OS native threads so it gets the stack maintenance 
and the correct handling of the %fs.

So WINE cannot change to pthreads without major hacks to the pthread library
I guess.

Ciao, Marcus




LHashValOfNameSysA for 407

2002-12-13 Thread Marcus Meissner
Hi,

I have an app here, which uses locale 407, for which we do not implement
LHashValOfNameSys yet...

It reports:

err:ole:LHashValOfNameSysA No hash for LCID 407, returning '0x00424242', please report

If someone wants to fix it :)

Ciao, Marcus




Re: Wine, Windows.Forms on Linux, GC and segfaults.

2002-12-11 Thread Marcus Meissner
On Tue, Dec 10, 2002 at 08:41:34PM -0500, Miguel de Icaza wrote:
 Hello,
 
 With the help of Hans Boehm, I have been tracking the problems we
 have to run the Windows.Forms code with GC enabled.  Turns out that the
 problem is not the Boehm code at all, it just exposes a problem that
 might be happening elsewhere.
 
 The problem is that by the time that Wine has been initialized,
 using setjmp/longjmp will always lead to a crash.  The code in pthreads
 that performs the longjmp will first try to invoke the pthread cleanup
 routines, and then invoke longjmp.  This never happens.
 
 In the particular case of Mono, I added a small bit of code before
 calling into Boehm's GC, and then I run my app like this:
 
   wine monostub.exe.so 
 
  The code snippet is:
 
   jmp_buf buf;
   
   printf (Here\n);
   if (setjmp (buf) == 0){
   printf (before\n);
   longjmp (buf, 1);
   } else {
   printf (after\n); 
   }
 
  The code should display:
 
   Here
   before
   after
 
   But with Wine, I get a crash inside longjmp, after the before is
 printed out.  I get the Wine Console with the stack trace, but I can not
 copy/paste from it, so I have included a screenshot of it.

You currently cannot use the wine libraries together with -lpthread.

WINE already overwrites and reimplements several pthread_ functions
which probably leads to internal confusion and the crash above.

Difficult to solve :/

Ciao, Marcus




Re: lz32 kernel32

2002-12-10 Thread Marcus Meissner
On Tue, Dec 10, 2002 at 01:06:54AM -0800, Francois Gouget wrote:
 
 I have checked the Wine spec files against the list of APIs exported by
 the various Windows libraries and started on resolving the
 discrepancies.
 
 One of the (smaller) things I found is that in Win2000 and WinXP the LZ
 API is implemented in kernel32 and lz32 only contains forwards that
 point to kernel32. In all other Windows version however, the LZ API is
 not available from kernel32 and is implemented in lz32.
 
 What should we do? Should we have kernel32 import lz32 and forward the
 LZ functions it? Or should we do like Windows, which means moving the LZ
 APIs to kernel32, and turn all the entry points in lz32 into forwards
 pointing to kernel32 like on Windows?

If the LZ APIs are exposed from kernel32 ... Then I would say yes.

Will the forwarding work for the 16bit version too?

Ciao, Marcus




Re: spec file definitions

2002-12-03 Thread Marcus Meissner
On Wed, Dec 04, 2002 at 12:21:55AM +0100, Rolf Kalbermatter wrote:
 I have seen some definitions of functions in a spec file where a string was
 defined as str or wstr. I do remember that there was an issue with this depending
 if the string parameter was input only (eg. const) or an input/output parameter.

This is only for string parameters which are valid during input.

Ciao, Marcus




Re: About picture format.

2002-11-21 Thread Marcus Meissner
On Wed, Nov 20, 2002 at 06:59:42PM +0800, yf wrote:
 ÔÚ 2002-11-20 Èý µÄ 18:13£¬ Patrik Stridvall дµÀ£º
   0ˆ80‰3 2002-11-20 0‡60‹5 0…80‡2 15:270„50…1 Marcus Meissner 
0ˆ40…70…80†80„50†2
On Tue, Nov 19, 2002 at 09:20:40PM +0800, yf wrote:
 I'm using a application that using 0x0010 picture format. 
   I found that
 wine only support Bitmap and JPEG picture format. Where 
   can I get some
 info about it. I want to implement it. Pls give me some 
   hints about it.

Where is it trying to use that picture format? In which API call?
   fixme:ole:OLEPictureImpl_Load Unknown magic 0010
   
   that is wine-20021031/dlls/oleaut32/olepicture.c
  
  OK. This only means that the first two bytes in the file is 0x10 0x00.
  
  I don't know what file format that is.
  
  But if you know what file it is trying to load you can run the
  Unix command file on it, perhaps it will tell what type of file
  it is.
 I used, but file tell: data. That means it don't know yet. Maybe it is
 not a pic format, but why OLEPictureImpl_Load handle it, I wonder?

Can you put that loaded file online somewhere? Or mail me?

Ciao, Marcus




Re: About picture format.

2002-11-19 Thread Marcus Meissner
On Tue, Nov 19, 2002 at 09:20:40PM +0800, yf wrote:
 I'm using a application that using 0x0010 picture format. I found that
 wine only support Bitmap and JPEG picture format. Where can I get some
 info about it. I want to implement it. Pls give me some hints about it.

Where is it trying to use that picture format? In which API call?

Ciao, Marcus




Re: vxdcall calling convention

2002-11-18 Thread Marcus Meissner
On Mon, Nov 18, 2002 at 04:21:37PM +0100, Patrik Stridvall wrote:
  Le lun 18/11/2002 à 02:51, Patrik Stridvall a écrit :
Corrects this line in winapi_check:
win32/device.c:544: kernel32: void 
  VxDCall(DWORD,CONTEXT86 *): calling
convention mismatch: cdecl != stdcall
   
   I'm not 100% sure this really is a bug.
   Don't trust winapi_check too much it is very ad hoc. :-)
   
   It might however be a bug but I never got around to test it 
  properly.
   
   So, have you verified that this really is correct?
  
  Well, kernel32.spec references them by stdcall -register -i386.
  Another API referenced the same way is CommonUnimpStub, and 
  in thunk.c,
  it is declared as void WINAPI.
  
  Is it sufficient checking?
 
 I'm not sure, it might be the other API(s) that are wrong
 or that VxDCall is a special case. That why I haven't dared
 changed anything. 

I think it needs to be WINAPI, the __wine_call_from_32_regs assembler thunk
does not remove arguments from stack.

Ciao, Marcus




Re: kdelnk2desktop.py

2002-11-16 Thread Marcus Meissner
On Fri, Nov 15, 2002 at 06:43:19PM -0600, Dustin Navea wrote:
 I just switched to slackware from Mandrake8 and I was foolin around
 tryin to see if ther ewas an xchat built with kdelibs and stumbled
 across kdelnk2desktop.py in my /usr/bin dir.  im not sure if it exists
 in other distors but it could be a replacement for the current
 wineshelllink on distros that do have it.  Anyone wanna look into this
 or want me to, let me know.

? The name suggests it is just a converter. But we already create both
link formats already by our own.

Ciao, Marcus




Re: COM Enhancement patch

2002-11-15 Thread Marcus Meissner
On Thu, Nov 14, 2002 at 04:35:00PM -0800, WINE wrote:
 Christian Costa [EMAIL PROTECTED] writes:
 
  I've sent a patch for ddraw COM management, I did not have any
  comments and the patch has been rejected.
  Could someone tell me if something is wrong or lacking?
 
 Well, I was hoping some of the COM experts would comment on that. If
 I understand it right you are avoiding writing some thunking routines
 for older interfaces, at the cost of an extra pointer access in every
 function. I'm not convinced it's a good trade-off, but I'd like to
 hear other opinions.

I do not really see the need for it either.
The implementation functions know the interface they get passed, so
the offset to the vtable ptr within the object is constant and can very
easily be calculated by the compiler.

As for increased function sharing and reduced thunks usage...
True, but the number of functions is not really annoying or problematic.

Ciao, Marcus




Re: Filesystem change notifications

2002-11-14 Thread Marcus Meissner
  Fam requires portmapper. If not set up properly (i.e. by someone who
  understands what they are letting loose) portmapper can be a serious
  security problem. The security community regard the introduction of fam
  a serious backward step on RH's part.
 
  KDE etc might use it but they do not _need_ it.
 
  You are also assuming that every distro follows RH's lead which is very
  definitely not true. Many people are already getting upset about the
  number of libraries that are required to get some packages to run.
  GNUCash being a prime example of package use gone mad.
 
 Can you suggest a superior alternative?

Check up on directory notifications in Linux. A way cool thing. 

- catch SIGIO ...
- fcntl(fd, F_NOTIFY, DN_xxx|DN_yyy);

Ciao, Marcus




Re: PATCH: cups dynamical dependency

2002-11-11 Thread Marcus Meissner
On Sun, Nov 10, 2002 at 11:18:27PM -0500, Dimitrie O. Paun wrote:
 On November 10, 2002 02:40 pm, Marcus Meissner wrote:
 
 Do not link against -lcups directly, but dynamically load it
 if present. (just like freetype etc.)
 [...]
  +#ifdef HAVE_CUPS
  +   /* dynamically load CUPS if not yet loaded */
  +   if (!cupshandle) {
  +   cupshandle = wine_dlopen(CUPS_SONAME, RTLD_NOW, NULL, 0);
  +   if (!cupshandle) cupshandle = (void*)-1;
  +   }
  +#endif
 
 Well, if we do this dynamically, why have this HAVE_CUPS check which is a
 compile time check? IMO we should just include a copy of the CUPS headers
 that we need, and drop the compile time check altogether.

Actually we would just need 4 lines of function prototypes with char*,
char** and int* arguments, no structures are passed.

 In fact, this
 check is misleading, as it suggests that we've verified some sort of
 compatibility with CUPS which we haven't.

But we did check against at least one set of function prototypes.

 We _assume_ that a certain API
 is available at runtime, so why pretend we use something that's on the
 machine we compile on?

It is the same for freetype.

I can do it the other way easily. I'll send a new patch later this day. 

Ciao, Marcus




Re: PATCH: cups dynamical dependency

2002-11-11 Thread Marcus Meissner
On Mon, Nov 11, 2002 at 02:26:31PM +0100, Sylvain Petreolle wrote:
 
  It is the same for freetype.
  
  I can do it the other way easily. I'll send a new patch later this
  day. 
  
  Ciao, Marcus
   
 Couldn't this be done for all dlls thare loaded inconditionnally by
 another dlls ? For example comdlg32 loads winspool.drv, even if you
 don't want to print anything. 

You could use this patch:

Index: dlls/commdlg/Makefile.in
===
RCS file: /home/wine/wine/dlls/commdlg/Makefile.in,v
retrieving revision 1.24
diff -u -u -r1.24 Makefile.in
--- dlls/commdlg/Makefile.in18 Oct 2002 23:46:29 -  1.24
+++ dlls/commdlg/Makefile.in11 Nov 2002 20:24:39 -
 -4,7 +4,8 
 SRCDIR= srcdir
 VPATH = srcdir
 MODULE= comdlg32.dll
-IMPORTS   = shell32 shlwapi comctl32 winspool.drv user32 gdi32 kernel32
+IMPORTS   = shell32 shlwapi comctl32 user32 gdi32 kernel32
+DELAYIMPORTS = winspool.drv
 ALTNAMES  = commdlg.dll
 EXTRALIBS = $(LIBUUID)
 
Ciao, Marcus




Re: Wine 0.8: VB compatibility !!

2002-11-11 Thread Marcus Meissner
On Sat, Nov 09, 2002 at 11:41:44AM -, Ann and Jason Edmeades wrote:
 I have a VB prog (see www.badcomp.co.uk) which I spent a long time getting
 working under Wine and fixed all the oleaut32 Var* routines it used. However
 if you look at that dll, there are still a huge number of stubs.
 Additionally the date/time handling is (was, anyway) pretty useless. I would
 strongly recommend if anyone starts writing VB testcases they try and
 exercise the Variant cases as well as the standard types (...and no, I dont
 have time!)
 
 VB Window Icons dont work in the wine tree - Marcus sent me a fix for
 OleLoadPictureEx which solves the problem but he never submitted it to the
 wine tree (I have a copy, but not of the license it was under). Also, Icons
 containing transparency dont work for me either, but thats not a vb thing, I
 guess.

It has been committed to CVS now.

However, most of those VB apps appear to try to load PICTYPE_ICON,
which we do not support yet.
 
Ciao, Marcus




Re: [PATCHLET] DeleteFile With Empty Paths

2002-11-07 Thread Marcus Meissner
On Thu, Nov 07, 2002 at 02:18:20AM -0800, Ryan Cumming wrote:
 Hi,
 
 KaZaA Lite 2.0 calls DeleteFile with an empty path at shutdown, which triggers 
 ERR(Empty path passed\n). It seems a bit silly to call that an error, so 
 this patch changes the message to a warning. It also does a 
 SetLastError(ERROR_FILE_NOT_FOUND) in that case, which is consistant with 
 Windows XP.

Can you also create a testcase for this problem?

Ciao, Marcus




Re: Wine 0.8 TODO v0.2

2002-11-07 Thread Marcus Meissner
On Thu, Nov 07, 2002 at 07:24:18PM +0100, Joerg Mayer wrote:
 On Thu, Nov 07, 2002 at 09:30:10AM -0800, Alexandre Julliard wrote:
  The spec files etc. should not be in the tree, that's right
 
 Why shouldn't thy be in the tree? Actually, I prefer to install Software
 (including self compiled sw) via rpm - it makes it much more comfortable
 to switch versions and you can be sure that there are no old versions
 lying around after an update - so I'd be happy if there was a file
 called suse-8.1.spec or so that I could use to build an rpm from the
 wine package.

Actually you could download
ftp://ftp.suse.com/pub/people/meissner/wine/8.1/wine-*.src.rpm, 
unpack it, drop in a new tarball and rebuild ...

Or just use my monthly builds ;)

Ciao, Marcus




Re: Fwd: WINE virus thing

2002-11-06 Thread Marcus Meissner
On Tue, Nov 05, 2002 at 07:11:53PM -0500, Dimitrie O. Paun wrote:
 --  Forwarded Message  --
 
 Subject: WINE virus thing
 Date: Tue, 5 Nov 2002 22:33:29 +0100 (MET)
 From: Marcel Partap [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 
 Dear Dimitrie,
 I am not on the mailing list for wine so please redirect this to the list,
 thank you very much.
 
 I've read the Wine weekly news and would like to help out a bit.
 About that security thingie and the problem that some apps need manual
 parameters or something (the user has to do more than click-click) I would
 recommend following solution:
 Most Nintendo 64 Emulators use INI-files, in which for each game (ROM Image)
 the name and shit is listed and the best options specifically for this game.
 I would recommend to do it exactly like this in WINE: a Application database
 file with weekly updates (like Antivirus definitions) which contains the
 names and file attributes of the (tested) application (MD5??!) and eventually
 the parameters necessary to run the program. Wine could then have a secure
  mode (turned on by default) in which only applications from the DB (MD5!)
  can be run and an unsecure mode in which it will run any EXE.
 This would solve multiple problems at once:

 ...

The database would be huge and a support nightmare, since just everyone would
be asking to add md5sums. And they change with every service pack, every 
subrelease

Ciao, Marcus




Re: PATCH: DispCallFunc

2002-11-06 Thread Marcus Meissner
On Wed, Nov 06, 2002 at 01:53:40PM -0500, Dimitrie O. Paun wrote:
 On November 6, 2002 01:40 pm, Marcus Meissner wrote:
  +
  +FIXME((%p, %ld, %d, %d, %d, %p, %p, %p)\n,
  +   pvInstance, oVft, cc, vtReturn, cActuals, prgvt, prgpvarg, pvargResult +   
 );
 
 Why is this one a FIXME, and not a TRACE?

Because the function most likely will crash and the user will see that this
function is the problem and we get debug output.

 [snip]
  +/* FIXME: Must handle pvargResult. How? */
 
 Isn't it better to issue a FIXME here, if pvargResult is not NULL?

I do not think it is supposed to be NULL at all, judging from examples, but
probably yes. I made it a printed message, and more explicit.

Ciao, Marcus

Index: dlls/oleaut32/typelib.c
===
RCS file: /home/wine/wine/dlls/oleaut32/typelib.c,v
retrieving revision 1.77
diff -u -u -r1.77 typelib.c
--- dlls/oleaut32/typelib.c 31 Jul 2002 17:20:01 -  1.77
+++ dlls/oleaut32/typelib.c 6 Nov 2002 19:05:47 -
 -4192,6 +4192,52 
 
 extern int const _argsize(DWORD vt);
 
+HRESULT WINAPI
+DispCallFunc(
+void* pvInstance, ULONG oVft, CALLCONV cc, VARTYPE vtReturn, UINT cActuals,
+VARTYPE* prgvt, VARIANTARG** prgpvarg, VARIANT* pvargResult
+) {
+int i, argsize, argspos;
+DWORD *args;
+HRESULT hres;
+
+FIXME((%p, %ld, %d, %d, %d, %p, %p, %p)\n,
+   pvInstance, oVft, cc, vtReturn, cActuals, prgvt, prgpvarg, pvargResult
+);
+argsize = 0;
+for (i=0;icActuals;i++) {
+FIXME(arg %d: type %d\n,i,prgvt[i]);
+   dump_Variant(prgpvarg[i]);
+argsize += _argsize(prgvt[i]);
+}
+args = (DWORD*)HeapAlloc(GetProcessHeap(),0,sizeof(DWORD)*argsize);
+argspos = 0;
+for (i=0;icActuals;i++) {
+   int arglen;
+VARIANT *arg = prgpvarg[i];
+
+   arglen = _argsize(prgvt[i]);
+   if (V_VT(arg) == prgvt[i]) {
+   memcpy(args[argspos],V_UNION(arg,lVal), arglen*sizeof(DWORD));
+   } else {
+   if (prgvt[i] == VT_VARIANT) {
+   memcpy(args[argspos],arg, arglen*sizeof(DWORD));
+   } else {
+   ERR(Set arg %d to disparg type %d vs %d\n,i,
+   V_VT(arg),prgvt[i]
+   );
+   }
+   }
+   argspos += arglen;
+}
+
+FIXME(Do not know how to handle pvargResult %p. Expect crash ...\n,pvargResult);
+
+hres = _invoke((*(DWORD***)pvInstance)[oVft/4],cc,argsize/4,args);
+HeapFree(GetProcessHeap(),0,args);
+return hres;
+}
+
 static HRESULT WINAPI ITypeInfo_fnInvoke(
 ITypeInfo2 *iface,
 VOID  *pIUnk,
Index: dlls/oleaut32/oleaut32.spec
===
RCS file: /home/wine/wine/dlls/oleaut32/oleaut32.spec,v
retrieving revision 1.42
diff -u -u -r1.42 oleaut32.spec
--- dlls/oleaut32/oleaut32.spec 8 Jul 2002 19:36:24 -   1.42
+++ dlls/oleaut32/oleaut32.spec 6 Nov 2002 19:05:47 -
 -142,7 +142,7 
 142 stdcall VarAnd(ptr ptr ptr) VarAnd
 143 stub VarDiv # stdcall (ptr ptr ptr)
 144 stub OACreateTypeLib2
-146 stub DispCallFunc
+146 stdcall DispCallFunc(ptr long long long long ptr ptr ptr) DispCallFunc
 147 stdcall VariantChangeTypeEx(ptr ptr long long long) VariantChangeTypeEx
 148 stdcall SafeArrayPtrOfIndex(ptr ptr ptr) SafeArrayPtrOfIndex
 149 stdcall SysStringByteLen(ptr) SysStringByteLen




Re: A problem with comctl32

2002-11-05 Thread Marcus Meissner
On Sat, Nov 02, 2002 at 03:56:11PM -0500, DanteAliegri wrote:
 Hey, I've come across what appears to be a
 simple problem in comctl32.
 When running icq99b, wine was dying in imagelist.c while trying to 
 dereference a null pointer.
 Upon looking at the file,  there was code for returning FALSE if that 
 pointer was null,
 thus I felt it being null may be a valid choice.
 I made the attached change, and the problem was fixed.
 Comments?

 Index: imagelist.c
 ===
 RCS file: /home/wine/wine/dlls/comctl32/imagelist.c,v
 retrieving revision 1.65
 diff -u -r1.65 imagelist.c
 --- imagelist.c   23 Oct 2002 22:19:11 -  1.65
 +++ imagelist.c   2 Nov 2002 20:40:53 -
  -1082,11 +1082,14 
  HBITMAP hImageBmp, hOldImageBmp, hOldImageListBmp, hOldMaskListBmp, 
hBlendMaskBmp;
  BOOL bIsTransparent, bBlend, bResult = FALSE;
  const HIMAGELIST himl = pimldp-himl;
 -const INT lx = himl-cx * pimldp-i + pimldp-xBitmap;
 -const INT ly = pimldp-yBitmap;
 +static INT lx;
 +static INT ly;

Do not use 'static' here, just INT.

Ciao, Marcus




Re: A problem with comctl32

2002-11-04 Thread Marcus Meissner
 -const INT lx = himl-cx * pimldp-i + pimldp-xBitmap;
 -const INT ly = pimldp-yBitmap;
 +static INT lx;
 +static INT ly;

 
 
 Should this be really static? Can't this function be called reentrant?
 
  
 
 well, static is no worse than const ;)

It is. Your program is no longer threadsafe.

Ciao, Marcus




Re: PATCH: ppc fix 2

2002-11-04 Thread Marcus Meissner
On Wed, Oct 30, 2002 at 10:13:36AM -0600, Greg Turner wrote:
 On Wednesday 30 October 2002 07:22 am, Marcus Meissner wrote:
  Fixed LITTLE_ENDIAN_32_READ macro to at least compile.
 
 btw, this seems to imply that even with the parentheses fix, it's still 
 not right... is that the case?  You seem like somebody who's up on PPC 
 issues.  Note that this is only intended to support UINT32's (I'll make 
 that clearer by changing the macro names in an upcoming patch).

The macro appears ok:
(*(pchar) = LOBYTE(LOWORD(uint32)), \
 *((pchar)+1) = HIBYTE(LOWORD(uint32)), \
 *((pchar)+2) = LOBYTE(HIWORD(uint32)), \
 *((pchar)+3) = HIBYTE(HIWORD(uint32)), \

It is not byteorder dependend.
 
 ...

 Anyhow, just thinking aloud there, and, I guess, hoping that if I'm 
 getting this all wrong, someone will correct me.   My original question 
 is the main one: are the semantics of my macro's wrong, or just the 
 parentheses thing?

Huh? Just the parentheses thing was wrong I think.

Ciao, Marcus




Re: WINE for PowerPC?

2002-11-03 Thread Marcus Meissner
On Sat, Nov 02, 2002 at 05:37:13PM -0600, Adam Ernst wrote:
 I'm sorry if this is off topic or doesn't belong here. I'm not a 
 developer (at least not in C) so I'll wait a few years while I learn C 
 before I come back and help you guys. But I was wondering...
 
 What are the technical issues with putting WINE on the PowerPC?

Native PowerPC (using WINELIB) works. For the other issues see the other
mails.

Ciao, Marcus




Re: Wine securityflaw.

2002-10-31 Thread Marcus Meissner
On Thu, Oct 31, 2002 at 11:10:33AM -0300, Raul Dias wrote:
 My $0.02,
 
 I always though of a wine as way to run windows apps
 better than windows.
 
 Better also means more secure for me.
 
 A way to make it more secure is to catch key API calls and decide if 
 the application is allowed to run it or not.
 
 This would be easy to detect if an application is trying to delete
 a file, to open a network connection, or anything that could be 
 possible unsafe if not used correct.

...

The whole issue can probably addressed by very simple sandboxing:

Just use a WINE pseudo user.

Then WINE and the windows applications can do only damage within 
the pseudo user context, which should be harmless.

Automated cleanup (like cron based kills or similar) would be easy.


Drawback: Does not scale well to a multi user system.

Ciao, Marcus




Re: So lets say we do it

2002-10-31 Thread Marcus Meissner
On Thu, Oct 31, 2002 at 08:24:28AM -0800, Alexandre Julliard wrote:
 Dimitrie O. Paun [EMAIL PROTECTED] writes:
 
  So the 5% left, install wine, install a Win-app, and play around.
  Great, it works!
 
 You forgot a few things here:

As for the SuSE wine RPMS:

 First it doesn't even start because they don't have a config file. OK,
 they copy one from somewhere, it doesn't work because the drives are
 wrong.

Been there, done that. Not very good, it is still using winesetuptk
which might be too much in way of configuration.

 Then they don't have the proper registry (winedefault.reg?
 what's that?)

Merged automatically with startup script.

 Then they finally manage to run the installer but it
 puts stuff in RunOnce that never gets run so the app doesn't
 work.

Ok, this one is still missing.

 Then they finally make the app run but can't print anything.

Two edged sword.

CUPS works fine here, however if all applications are ready to print
with WINEPS and winspool.drv is another issue.

 And
 when they ask for help they get told to fight the FAQ-O-Matic crap to
 maybe finally find an answer telling them they are an idiot.

Yep. But this one is harder, what do you think needs to be there?

 So no, I'm not going to make a general public release just yet...

Not yet too late for another 'Halloween' release though ;)

Ciao, Marcus




Re: PATCH: ppc fix 2

2002-10-30 Thread Marcus Meissner
On Wed, Oct 30, 2002 at 07:56:10AM -0600, Greg Turner wrote:
 On Wednesday 30 October 2002 07:22 am, Marcus Meissner wrote:
  Hi,
 
  Just a bad macro.
 
  ciao, marcus
 
  Changelog:
  Fixed LITTLE_ENDIAN_32_READ macro to at least compile.
 
  Index: ndr_marshall.c
  ===
  RCS file: /home/wine/wine/dlls/rpcrt4/ndr_marshall.c,v
  retrieving revision 1.9
  diff -u -r1.9 ndr_marshall.c
  --- ndr_marshall.c  29 Oct 2002 23:07:33 -  1.9
  +++ ndr_marshall.c  30 Oct 2002 13:21:15 -
   -59,8 +59,8 
 
 #define LITTLE_ENDIAN_32_READ(pchar) \
   (MAKELONG( \
  -  MAKEWORD(*(pchar), *((pchar)+1)) \
  -  MAKEWORD(*((pchar)+2), *((pchar)+3)))
  +  MAKEWORD(*(pchar), *((pchar)+1)), \
  +  MAKEWORD(*((pchar)+2), *((pchar)+3
   #endif
 
   /*
 
 oops!  thanks!  strange that this compiles for i386 at all.  maybe gcc 
 is automagically fixing the macro for some of us?

No, if you look at the define, it is not processed on i386 (protected
by ifdef).

Ciao, Marcus




  1   2   3   4   >