RE: Developing wine

2000-06-01 Thread Patrik Stridvall

 I've wanted to get into wine development for some time now 
 but I've never
 found a bug simple enough for me to comprehend (and, 
 normally, that everyone
 else hasn't already found ten times over), let alone fix. I 
 really want to
 contribute something to the project, but I don't know where 
 to start. Any
 suggestions?

Try and run winapi_check.

cd winedir
./tools/winapi_check/winapi_check --all

This will present a list of a _lot_ of _potential_ error,
some of them are real some of them are not.

In short be _extermely_ critical of what winapi_check says,
since the heuristics used are far from perfect.

The options --all shows everything, but you can
also select what you want to show. See
./tools/winapi_check/winapi_check --help
for details.

I'm the author of winapi_check so please mail all
problems/questions concerning winapi_check to me,
or post it on the list if you think that other
people might be intrested.

PS. If you have less than 128 Mb of memory,
the global checks that are done after all files
are checked will be _extermely_ slow.
In that case you can turn them of by
using --no-global.




PE_LoadImage We need to perform base relocations

2000-06-01 Thread Uwe Bonnes

Hallo,

what is the reason that we still have the 
fixme:win32:PE_LoadImage We need to perform base relocations for...

Sorry for that ignorant question!

Bye

Uwe Bonnes[EMAIL PROTECTED]

Free Software: If you contribute nothing, expect nothing
--




Winedbg and WINE_MODREF-filename(II)

2000-06-01 Thread Uwe Bonnes

Hallo,

after address separation I reported about some installation (selecting
quickwork from the quicklogic installation version 8.2) not finding
some needed files. I suspected the current directory not set
appropriate. 

However after I applied the patch in the first posting about the usage 
of unix vs. short dos vs long dos file name in PROCESS_InitWine, I
don't hit that error any longer. The patch tries to retrieve the dos
short (8.3) filename and does put this filename in
WINE_MODREF-filename.

Bye

Uwe Bonnes[EMAIL PROTECTED]

Free Software: If you contribute nothing, expect nothing
--




Endless loop wodPlayer -wodPlayer_WriteFragments

2000-06-01 Thread Uwe Bonnes

Hallo,

trying the test version of Encarta Plus 2000 I often hit an endless
loop of calls to wodPlayer_WriteFragments from wodPlayer.

err:wave:wodPlayer_WriteFragments ioctl failed (22)

wodPlayer_WriteFragments returns false for this failure, but wodPlayer 
doesn't honor the return value.

Bye

Uwe Bonnes[EMAIL PROTECTED]

Free Software: If you contribute nothing, expect nothing
--




glext.h

2000-06-01 Thread Sam Dennis

Could someone please explain why we need to include glext.h in wine_gl.h? It
seems to compile without it (and, as I don't have it, it won't compile with
it for me).

-- 
Sam Dennis [EMAIL PROTECTED]

"The strstr() function finds the first occurrence of the substring needle in
the string haystack."




Re: LOCAL_GetBlock not enough space in GDI local heap

2000-06-01 Thread Ove Kaaven


On Thu, 1 Jun 2000, Jacques Gelinas wrote:

 We came to the following conclusion (and we are no windows expert). Anyone
 may comment ?
 
   It is a limitation in wine. Its GDI library is still using a lot
   of 16 bits object.
 
   It is a limitation in win32. Is has to use 16 bits heap objects
   (then why our app is working correctly in windows and windows NT)
 
   Something odd is happening somewhere and confuse wine, so the
   error above does not mean much.

Where is the "memory/object/resource leak in Wine" option?




Re: LOCAL_GetBlock not enough space in GDI local heap

2000-06-01 Thread Douglas Ridgway



On Thu, 1 Jun 2000, Ove Kaaven wrote:

 On Thu, 1 Jun 2000, Jacques Gelinas wrote:
 
  We came to the following conclusion (and we are no windows expert). Anyone
  may comment ?
  
  It is a limitation in wine. Its GDI library is still using a lot
  of 16 bits object.
  
  It is a limitation in win32. Is has to use 16 bits heap objects
  (then why our app is working correctly in windows and windows NT)
  
  Something odd is happening somewhere and confuse wine, so the
  error above does not mean much.
 
 Where is the "memory/object/resource leak in Wine" option?

See http://www.winehq.com/patches970914/ for one way of trying to find
such a leak. The required patch probably won't apply without modification.
There might also be a more recent or better way to find such a leak.

doug.
[EMAIL PROTECTED]




Re: PE_LoadImage We need to perform base relocations

2000-06-01 Thread Alexandre Julliard

Uwe Bonnes [EMAIL PROTECTED] writes:

 what is the reason that we still have the 
 fixme:win32:PE_LoadImage We need to perform base relocations for...

This helps spotting dlls that need relocating, since it causes a
performance hit. It should happen less frequently now but it can still
happen with dlls that haven't been rebased properly. There isn't much
we can do about it though, so the message should probably become a
TRACE.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




RE: LOCAL_GetBlock not enough space in GDI local heap

2000-06-01 Thread Stephane Lussier

Jacques,

In Wine there's currently a limitation on the size of the GDI heap. It is
limited to 64K. This is a old limitation from Win 3.1 (16 bits), this
limitation doesn't exist under Win9x/WinNT.

Alexandre fixed that issue on the Corel wine tree, and I'm pretty sure
eventually somebody will merge his work back into Wine-HQ source tree. It
could even be you :-)

If your application creates a lot of Gdi objects that could be the problem.
Or maybe also your application leaks some Gdi object, if it's the case
you'll run into that problem (no more space in the Gdi heap) much faster
than in Windows. I think in Windows you can create 64K objects before
Windows starts to complain.

Stephane Lussier.
Macadamian Technologies



 -Original Message-
 From: Jacques Gelinas [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, June 01, 2000 12:58 PM
 To: [EMAIL PROTECTED]
 Subject: LOCAL_GetBlock not enough space in GDI local heap


 We are trying to run a win32 application on wine and linux. The
 application is starting and ultimatly fails with the following message.

 LOCAL_GetBlock not enough space in GDI local heap (01d7) for 60 bytes

 The application does quite a lot before failing. It does ODBC access to a
 sybase server, brings its splash screen, then its main windows. Note that
 this application main window use quite a few widgets. It is made of a
 notebook object with several data browsers and input fields distributed in
 the various pages.

 Trying to pinpoint the offending piece of code (This is our own
 application, so we have to source), we think it is not any code in
 particular, but simply because there are two many widgets. Commenting out
 the area where our app fails, we get a little further and fails in another
 window.

 I would expect that a 32 bit application is not using the 16 bits heap
 much (--debugmsg +heap shows differently). Am I missing something ?

 The application is built using the wxWindow 1.66 toolkit.

 We came to the following conclusion (and we are no windows expert). Anyone
 may comment ?

   It is a limitation in wine. Its GDI library is still using a lot
   of 16 bits object.

   It is a limitation in win32. Is has to use 16 bits heap objects
   (then why our app is working correctly in windows and windows NT)

   Something odd is happening somewhere and confuse wine, so the
   error above does not mean much.

 We are getting this with the latest CVS version (well, updated may 25)


 -
 Jacques Gelinas [EMAIL PROTECTED]
 virtualfs: Automounting floppy, CDs, network share, etc...
 http://www.solucorp.qc.ca/






Re: LOCAL_GetBlock not enough space in GDI local heap

2000-06-01 Thread gerard patel

At 12:57 PM 6/1/00 -0400, you wrote:
We are trying to run a win32 application on wine and linux. The
application is starting and ultimatly fails with the following message.

LOCAL_GetBlock not enough space in GDI local heap (01d7) for 60 bytes

Try to do a bit of searching on your own with the following patch against
memory/local.c, and whatever  other option of -debugmsg can be of interest
with your app.
Post again when you have found more precisely where is the problem.

Gerard

--- local.c.origSun May 28 18:19:35 2000
+++ local.c Thu Jun  1 20:28:58 2000
@@ -1068,8 +1068,11 @@
 {
 char *ptr = PTR_SEG_OFF_TO_LIN( ds, 0 );
 
-TRACE("%04x ds=%04x\n", handle, ds );
-
+if (ds == GDI_HeapSel)
+{  
+MESSAGE("free %04x\n", handle);
+LOCAL_CountFree(  ds );
+}
 if (!handle) { WARN("Handle is 0.\n" ); return 0; }
 if (HANDLE_FIXED( handle ))
 {
@@ -1103,7 +1106,11 @@
 char *ptr;
 HLOCAL16 handle;
 
-TRACE("%04x %d ds=%04x\n", flags, size, ds );
+if (ds == GDI_HeapSel)
+{  
+MESSAGE("alloc  size=%d\n",  size );
+LOCAL_CountFree(  ds );
+}
 
 if(size  0  size = 4) size = 5;
 if (flags  LMEM_MOVEABLE)
@@ -1170,8 +1177,11 @@
  ((LOCALHANDLEENTRY *)(ptr + handle))-lock == 0xff) /* An unused handle */
return 0;
 
-TRACE("%04x %d %04x ds=%04x\n",
-   handle, size, flags, ds );
+if (ds == GDI_HeapSel)
+{  
+MESSAGE("realloc %04x size=%d\n", handle, size);
+LOCAL_CountFree(  ds );
+}
 if (!(pInfo = LOCAL_GetHeap( ds ))) return 0;
 
 if (HANDLE_FIXED( handle ))
@@ -1500,7 +1510,7 @@
if (arena == pArena-free_next) break;
 total += pArena-size;
 }
-TRACE("(%04x): returning %d\n", ds, total);
+MESSAGE("(%04x): returning %d\n", ds, total);
 return total;
 }
 




How to handle ...\\Windows\\CurrentVersion\\App Paths\\...

2000-06-01 Thread Uwe Bonnes

Hallo,

the installation of Encarta 200 (Testversion) succeeded
somehow. However starting Enc2000.exe from the directory it is located 
in, wine aborts because of the failing shrl30 DLL:
err:module:BUILTIN32_dlopen failed to load libshrl30.so:
/home/bon/wine/cvs/lib/libshrl30.so: cannot open shared object file:
File or directory not found
err:module:fixup_imports Module SHRL30.dll not found

But in system.reg, there is an entry
[MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Enc2000.exe] 
959863964
"Path"="d:\\finden\\enc2000;d:\\finden\\enc2000\\Update 2000;\\Microsoft 
Shared\\Reference Titles"
"UpdatesPath"="d:\\finden\\enc2000\\Update 2000\\"

pointing to the directory containing the DLL. Reading the docs about
"App Paths", I read that the shell spawning the executable should read
that registry value and prepend it to the (inherited) path before
calling CreateProcess.

Any ideas how to handle this problem?

Bye

Uwe Bonnes[EMAIL PROTECTED]

Free Software: If you contribute nothing, expect nothing
--




toolbar crash fix

2000-06-01 Thread michael cardenas

Here's a patch for dlls/comctl32/toolbar.c
It corrects a potential crash and removes the one pixel of garbage
that's appearing at the bottom of the toolbar.

--- /devel/corelwineVirgin/corelwine/dlls/comctl32/toolbar.cMon May 15 10:47:35 
2000
+++ toolbar.c   Thu Jun  1 16:03:39 2000
@@ -952,9 +952,9 @@
 if (!(infoPtr-himlDef)) {
/* create new default image list */
TRACE ("creating default image list!\n");
-   /* It seems that the image list created is 1 pixel taller than the bitmap 
height */
+
infoPtr-himlDef =
-   ImageList_Create (infoPtr-nBitmapWidth, infoPtr-nBitmapHeight + 1,
+ ImageList_Create (infoPtr-nBitmapWidth, infoPtr-nBitmapHeight,// + 1,
  ILC_COLOR | ILC_MASK, nButtons, 2);
infoPtr-himlInt = infoPtr-himlDef;
 }
@@ -1687,13 +1688,16 @@
lpTbInfo-fsState = btnPtr-fsState;
 if (lpTbInfo-dwMask  TBIF_STYLE)
lpTbInfo-fsStyle = btnPtr-fsStyle;
-if (lpTbInfo-dwMask  TBIF_TEXT) {
-   if ((btnPtr-iString = 0) || (btnPtr-iString  infoPtr-nNumStrings))
-   lstrcpynWtoA (lpTbInfo-pszText,
+ if (lpTbInfo-dwMask  TBIF_TEXT) {
+   
+   /*make sure infoPtr-strings has been allocated before dereferencing 
+it! */
+   if ( infoPtr-strings  ((btnPtr-iString = 0) || (btnPtr-iString  
+infoPtr-nNumStrings)))
+   {   
+   lstrcpynWtoA (lpTbInfo-pszText,
  (LPWSTR)infoPtr-strings[btnPtr-iString],
 lpTbInfo-cchText);
+   }
 }
-
 return nIndex;
 }



Wine Status

2000-06-01 Thread Ove Kaaven

I've created a "WWN Wine Status page" at
http://www.winehq.com/News/status.html

Is there anything I should change or add?

(And I'm still kind of wondering what to write about for next WWN...)




Re: Developing wine

2000-06-01 Thread Peter Bortas

Andreas Mohr [EMAIL PROTECTED] writes:

 4. Write WineHQ mirror scripts as needed and asked for by Bertho Stultiens.

I missed that one. What kind of mirror script i needed?

-- 
Peter Bortas   http://peter.bortas.org
Roxen IS   http://www.roxen.com