Re: gmail invitation

2004-12-23 Thread Izak Burger
http://ars.userfriendly.org/cartoons/?id=20041013
I have another six if anyone else desperately wants one...
:-)
MediaHost (TM) wrote:
I have another 9if somebody needs one :-)
Ivan Leo Puoti wrote:
I have 6 gmail invitations, I'm giving them out to Wine developers only.
If you want one drop me a line, first come first served.
Ivan.



--
Technically speaking, if you receive this email, you are the intended
recipient.  Unless specifically stated otherwise I speak for myself.  I
am not responsible for anything you do with or without this email.  By
replying to this message you or any software agent acting on your behalf
agree that I am the intended recipient. You also agree that I shall be
free to use the contents of such a message as I see fit.


Re: tests: add more listbox tests

2004-12-23 Thread Ferenc Wagner
Mike Hearn <[EMAIL PROTECTED]> writes:

> On Thu, 23 Dec 2004 17:01:09 +0200, Lauri Tulmin wrote:
>
>> Add tests for LBS_EXTENDEDSE and LBS_EXTENDEDSEL | LBS_MULTIPLESEL 
>> listboxes. Some of these test don't pass on wine.
>
> Thanks for the tests! If they don't pass in Wine though you need to
> surround them in todo_wine {} blocks, or ideally fix them.

Actually (not ideally) you should just stick 1's into the
appropriate TODO fields.
-- 
Feri.



AppDB Templates

2004-12-23 Thread Stefan Pflüger
Hello,
I attached my really simple template class that mainly replaces special 
tags in template files by some reasonable text.

The file should go to appdb/include/template.php.
I already rewrote most of index.php to use the template class, I'll 
submit a seperate patch for that when finished.
The same then needs to be done for every PHP file in appdb/ and 
appdb/admin as well as some files in include/, for example include/menu.php.

In the end, the whole design will be changeable by editing some 
HTML-like template files in appdb/template/.

Stefan


template.php
Description: application/httpd-php


Re: Interface for working directories/launchers

2004-12-23 Thread Mike Hearn
On Thu, 23 Dec 2004 16:03:13 -0500, Dimitrie O. Paun wrote:
> Why not just:
> 
> Exec=winemenulauncher c:\games\supreme supreme.exe

Could be, but we already dump lots of programs into the path. The other
thing is that win32 launchers have "working directory" and "command": we
should reproduce them faithfully IMHO. So if command is just "supreme.exe"
then great, but if it's a full path then it would go in.




Re: clean-up

2004-12-23 Thread Jonathan Ernst
Le jeudi 23 dÃcembre 2004 Ã 22:39 +0100, Paul van Schayck a Ãcrit :
> Hey Eric,
> 
> On Thu, 23 Dec 2004 01:38:02 -0800 (PST), Eric Blade <[EMAIL PROTECTED]> 
> wrote:
> > The attached patch includes a lot of cleaning up,
> > mostly to HTML, a bit to some PHP.
> 
> What's this supposed to do:
>  if(!$tempResult)
>   {
> - echo "$query \n";
> + echo "$query <>\n";
>   echo "An error occurred: ".mysql_error()."";
>   exit;
>   }
> @@ -68,7 +68,7 @@
>  if(debugging())
>  {
>   echo $query;
> - echo "";
> + echo "<><>";
>  }
> 

Same question: what are those <> ???


> And:
> 
> -if(!loggedin())
> +if(!loggedin() || (!havepriv("admin"))

If you are not loggeddin() you can't havepriv("admin") btw
So we have:
_old version_
C=A
A=TRUE => C=TRUE
A=FALSE => C=FALSE

_your version_
C=(A OR B)
A=TRUE => B=TRUE => C=TRUE
A=FALSE, B=TRUE => C=TRUE
A=FALSE, B=FALSE => C=FALSE

So your version doesn't mean the same as the old one, is that correct ?
If it is what we need, why don't you simple use:

if(!havepriv("admin"))
C=B
B=TRUE => C=TRUE
B=FALSE => C=FALSE

Which means the same as your version.

> 
> Shouldn't this be
> if(!loggedin() AND (!havepriv("admin"))

C=(A AND B)
A=TRUE => B=TRUE => C=TRUE
A=FALSE, B=TRUE => C=FALSE
A=FALSE, B=FALSE => C=FALSE

So this version means the same as the old one but then why do we make it
more complicated ?


signature.asc
Description: Ceci est une partie de message	=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=


Re: tests: add more listbox tests

2004-12-23 Thread Mike Hearn
On Thu, 23 Dec 2004 17:01:09 +0200, Lauri Tulmin wrote:
> Add tests for LBS_EXTENDEDSE and LBS_EXTENDEDSEL | LBS_MULTIPLESEL 
> listboxes. Some of these test don't pass on wine.

Thanks for the tests! If they don't pass in Wine though you need to
surround them in todo_wine {} blocks, or ideally fix them.

thanks -mike




Re: clean-up

2004-12-23 Thread Paul van Schayck
Hey Eric,

On Thu, 23 Dec 2004 01:38:02 -0800 (PST), Eric Blade <[EMAIL PROTECTED]> wrote:
> The attached patch includes a lot of cleaning up,
> mostly to HTML, a bit to some PHP.

What's this supposed to do:
 if(!$tempResult)
{
-   echo "$query \n";
+   echo "$query <>\n";
echo "An error occurred: ".mysql_error()."";
exit;
}
@@ -68,7 +68,7 @@
 if(debugging())
 {
echo $query;
-   echo "";
+   echo "<><>";
 }

And:

-if(!loggedin())
+if(!loggedin() || (!havepriv("admin"))

Shouldn't this be
if(!loggedin() AND (!havepriv("admin"))

Rest looks good.

Kind regards,
Paul



Re: Interface for working directories/launchers

2004-12-23 Thread Dimitrie O. Paun
On Thu, Dec 23, 2004 at 06:14:09PM +, Mike Hearn wrote:
> Exec=wine winemenulauncher c:\games\supreme supreme.exe
> 
> Does this sound sensible?

Why not just:

Exec=winemenulauncher c:\games\supreme supreme.exe

-- 
Dimi.



Re: gmail invitation

2004-12-23 Thread MediaHost (TM)




I have another 9if somebody needs one :-)

Ivan Leo Puoti wrote:
I have 6
gmail invitations, I'm giving them out to Wine developers only.
  
If you want one drop me a line, first come first served.
  
  
Ivan.
  
  
  
  


-- 
Regards
 
Signer:  Eddy Nigg
Company: StartCom Linux at www.startcom.org
    MediaHost™ at www.mediahost.org
Skype:  startcom
Phone:  +1.213.341.0390
 





Re: Correct use of the ok function in user/tests and kernel/tests

2004-12-23 Thread Lionel Ulmer
On Thu, Dec 23, 2004 at 09:35:14PM +0100, Rein Klazes wrote:
> I can not remember the rule in C that say so. There is a rule that
> specifies that each argument is evaluated fully before evaluating the
> next one, but the order in winch this happens is free to the compiler

I am pretty sure that the order of evaluation is not fixed because I once
had to fix some bugs in ScummVM because the order of evaluation on the ARM
platform was not the same as the one on X86 (which lead to all sort of crazy
stuff with code like 'foo(pop(), pop());' :-) ).

Lionel

-- 
 Lionel Ulmer - http://www.bbrox.org/



gmail invitation

2004-12-23 Thread Ivan Leo Puoti
I have 6 gmail invitations, I'm giving them out to Wine developers only.
If you want one drop me a line, first come first served.
Ivan.



Re: Correct use of the ok function in user/tests and kernel/tests

2004-12-23 Thread Rein Klazes
On Thu, 23 Dec 2004 17:13:26 +0100, you wrote:

> 
> Aren't arguments always evaluated left to right?

I can not remember the rule in C that say so. There is a rule that
specifies that each argument is evaluated fully before evaluating the
next one, but the order in winch this happens is free to the compiler

Moreover I only do this exercise because on my wine (compiled with gcc
3.4) they were not.

Rein.



Patch to README

2004-12-23 Thread Stefan Pflüger
This patch adds the default admin account data (user: admin, password: 
testing) to the README file. The account data was mentioned nowhere 
before, only in tables/user_list.sql

Stefan Pflüger
Index: README
===
RCS file: /home/wine/appdb/README,v
retrieving revision 1.4
diff -u -r1.4 README
--- README  13 Dec 2004 03:50:11 -  1.4
+++ README  23 Dec 2004 20:23:33 -
@@ -32,6 +32,12 @@
   'magic_quotes_gpc = Off' (you would end up with \ everywhere)
   'session.bug_compat_42' = On' (Problem with auto-globals and session 
variables)
 
+# An AppDB admin user has been automatically created while running 
+  the create_tables script
+  username: admin
+  password: testing
+  You should change the password as soon as possible!
+
 ##
 You can create ether set up a real bugzilla database or a fake one 
 


Re: Implemented CreateUrlCacheEntryW and DeleteUrlCacheEntryW

2004-12-23 Thread Alexandre Julliard
Robert Shearman <[EMAIL PROTECTED]> writes:

> The strncpyW function exists for a reason. Also, it is better to use
> strlenW than lstrlenW.

Actually strncpy(W) is almost always the wrong thing to use. If you
want to copy a fixed length (like in that case) memcpy is a much
better choice; if you want to copy and possibly truncate a string
lstrcpynA/W is preferable.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Systray patch but explorified

2004-12-23 Thread Mike Hearn
On Thu, 23 Dec 2004 19:06:04 +0100, Alexandre Julliard wrote:
> The other thing that needs to be done differently is that the
> WS_EX_TRAYWINDOW flag has to go, that's not Windows compatible. We
> need to define an appropriate interface that doesn't involve
> overloading Win32 flags.

OK, would an atom set on the window be appropriate here?

thanks -mike




Re: Implemented CreateUrlCacheEntryW and DeleteUrlCacheEntryW

2004-12-23 Thread Robert Shearman
Jacek Caban wrote:
Changelog:
   Implemented CreateUrlCacheEntryW and DeleteUrlCacheEntryW

Index: dlls/wininet/urlcache.c
===
RCS file: /home/wine/wine/dlls/wininet/urlcache.c,v
retrieving revision 1.22
diff -u -p -r1.22 urlcache.c
--- dlls/wininet/urlcache.c	3 Sep 2004 18:30:28 -	1.22
+++ dlls/wininet/urlcache.c	23 Dec 2004 11:08:39 -
@@ -616,14 +616,14 @@ static BOOL URLCache_DeleteEntry(CACHEFI
static BOOL URLCache_LocalFileNameToPathW(
const URLCACHECONTAINER * pContainer,
LPCURLCACHE_HEADER pHeader,
-LPCSTR szLocalFileName,
+LPCWSTR szLocalFileName,
BYTE Directory,
LPWSTR wszPath,
LPLONG lpBufferSize)
{
LONG nRequired;
int path_len = strlenW(pContainer->path);
-int file_name_len = MultiByteToWideChar(CP_ACP, 0, szLocalFileName, -1, NULL, 0);
+int file_name_len = lstrlenW(szLocalFileName);
 

MultiByteWideChar returns the number of characters, including the NULL 
terminator. lstrlenW does not. Also, since the local file name can only 
ever be stored in ANSI, there is very little benefit in converting that 
function to Unicode. In fact, there is very little benefit in making the 
ANSI API functions convert everything to Unicode strings, only for them 
to be immediately converted back to ANSI for storage on disk.

if (Directory >= pHeader->DirectoryCount)
{
*lpBufferSize = 0;
@@ -638,7 +638,7 @@ static BOOL URLCache_LocalFileNameToPath
memcpy(wszPath, pContainer->path, path_len * sizeof(WCHAR));
dir_len = MultiByteToWideChar(CP_ACP, 0, 
pHeader->directory_data[Directory].filename, DIR_LENGTH, wszPath + path_len, 
DIR_LENGTH);
wszPath[dir_len + path_len] = '\\';
-MultiByteToWideChar(CP_ACP, 0, szLocalFileName, -1, wszPath + dir_len 
+ path_len + 1, file_name_len);
+memcpy(wszPath + dir_len + path_len + 1, szLocalFileName, 
file_name_len*sizeof(WCHAR));
*lpBufferSize = nRequired;
return TRUE;
}
@@ -762,9 +762,18 @@ static BOOL URLCache_CopyEntry(
LPSTR lpszLocalFileName;
lpszLocalFileName = (LPSTR)lpCacheEntryInfo + dwRequiredSize;
nLocalFilePathSize = *lpdwBufferSize - dwRequiredSize;
-if ((bUnicode && URLCache_LocalFileNameToPathW(pContainer, pHeader, 
(LPCSTR)pUrlEntry + pUrlEntry->dwOffsetLocalName, pUrlEntry->CacheDir, 
(LPWSTR)lpszLocalFileName, &nLocalFilePathSize)) ||
-URLCache_LocalFileNameToPathA(pContainer, pHeader, (LPCSTR)pUrlEntry + 
pUrlEntry->dwOffsetLocalName, pUrlEntry->CacheDir, lpszLocalFileName, 
&nLocalFilePathSize))
-{
+if (bUnicode) {
+LPWSTR tmpstrw;
+int len = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)pUrlEntry + 
pUrlEntry->dwOffsetLocalName, -1, NULL, 0);
+tmpstrw = HeapAlloc(GetProcessHeap(), 0, len*sizeof(WCHAR));
+MultiByteToWideChar(CP_ACP, 0, (LPCSTR)pUrlEntry + 
pUrlEntry->dwOffsetLocalName, -1, tmpstrw, len);
+if(URLCache_LocalFileNameToPathW(pContainer, pHeader, tmpstrw, 
pUrlEntry->CacheDir,
+(LPWSTR)lpszLocalFileName, 
&nLocalFilePathSize)) {
+lpCacheEntryInfo->lpszLocalFileName = lpszLocalFileName;
+}
+HeapFree(GetProcessHeap(), 0, tmpstrw);
+}else if(URLCache_LocalFileNameToPathA(pContainer, pHeader, 
(LPCSTR)pUrlEntry + pUrlEntry->dwOffsetLocalName,
+   pUrlEntry->CacheDir, 
lpszLocalFileName, &nLocalFilePathSize)) {
lpCacheEntryInfo->lpszLocalFileName = lpszLocalFileName;
}
dwRequiredSize += nLocalFilePathSize;
@@ -1550,36 +1559,38 @@ BOOL WINAPI UnlockUrlCacheEntryFileA(
}
/***
- *   CreateUrlCacheEntryA (WININET.@)
+ *   CreateUrlCacheEntryW (WININET.@)
 *
 */
-BOOL WINAPI CreateUrlCacheEntryA(
-IN LPCSTR lpszUrlName,
+BOOL WINAPI CreateUrlCacheEntryW(
+IN LPCWSTR lpszUrlName,
IN DWORD dwExpectedFileSize,
-IN LPCSTR lpszFileExtension,
-OUT LPSTR lpszFileName,
+IN LPCWSTR lpszFileExtension,
+OUT LPWSTR lpszFileName,
IN DWORD dwReserved
)
{
URLCACHECONTAINER * pContainer;
LPURLCACHE_HEADER pHeader;
-CHAR szFile[MAX_PATH];
-CHAR szExtension[MAX_PATH];
-LPCSTR lpszUrlPart;
-LPCSTR lpszUrlEnd;
-LPCSTR lpszFileNameExtension;
-LPSTR lpszFileNameNoPath;
+WCHAR szFile[MAX_PATH];
+WCHAR szExtension[MAX_PATH];
+LPCWSTR lpszUrlPart;
+LPCWSTR lpszUrlEnd;
+LPCWSTR lpszFileNameExtension;
+LPWSTR lpszFileNameNoPath;
int i;
int countnoextension;
BYTE CacheDir;
LONG lBufferSize;
BOOL bFound = FALSE;
int count;
+static const WCHAR strWWW[] = {'w','w','w',0};
+static const WCHAR strFormat[] = {'[','%','u',']','%','s',0};
 

No need to pollute an a

Going forward with fixing up tests failing because not run on visible desktop.

2004-12-23 Thread Jakob Eriksson

Followup on tests failing because they are run as an invisible service 
on Windows:
--


Now that we have bRunningOnVisibleDesktop=0 in the report, how do we 
make use of it?

Do we mark on the server side which tests fail because of it, or should 
we add a flag to
the ok() macro?

I would like to have the information stored in the test code somehow.
It would document implicitly which functions only work in visible mode.
If we had a global variable named "running_on_visible_desktop",
we would have code like this in the tests:
if (running_on_visible_desktop)
{
   ok(EnumEnhMetaFile(hdcDisplay, hMetafile, emf_enum_proc, dx, &rc),
  "EnumEnhMetaFile error %ld\n", GetLastError());
}

Or we could mark them like this:
expect_to_fail_if_running_on_visible_desktop
{
   ok(EnumEnhMetaFile(hdcDisplay, hMetafile, emf_enum_proc, dx, &rc),
  "EnumEnhMetaFile error %ld\n", GetLastError());
}
Where expect_to_fail_if should do some magic...
regards,
Jakob




winetest failing on Windows 2000, VIA AC 97 audio

2004-12-23 Thread Jakob Eriksson
http://test.winehq.org/data/200412231000/2000_MarcelHekman/winmm:wave.txt
Can we blacklist this driver somehow?
AFAIK I submitted a black list patch before for this driver but it was 
silently dropped.

regards,
Jakob



Re: Correct use of the ok function in user/tests and kernel/tests

2004-12-23 Thread Jakob Eriksson
Aren't arguments always evaluated left to right?

Rein Klazes wrote:
Hi,
82 cases, most a variation of:
ok( !Foo(), "Foo failed, error %ld\n", GetLastError());
Changelog:
	dlls/kernel/tests	: change.c, file.c, process.c, 
  thread.c, time.c
	dlls/user/tests		: clipboard.c, msg.c, text.c win.c

Correct cases where arguments of ok() calls depend on the order
in which they are evaluated.
 




Looking for a Wine consultant.

2004-12-23 Thread Pouya Yadegar
I am the head of a company that is trying to migrate a VB6 system on WinNT
and would like to
use that application under Debian Sarge using Wine.   If you have experience
in porting VB6 applications using Wine and have some free time to consult an
in house developer it would be appreciated.  We would like to get the
project up and running as soon as possible.  If your interested please get
back to me at [EMAIL PROTECTED] as soon as possible.

Thanks.



Re: Approving of the WINEprobe initiative

2004-12-23 Thread David Gümbel

Scott Ritchie schrieb am 22.12.2004 um 12:41 Uhr:

> On Wed, 2004-12-22 at 11:39 +0100, David Gümbel wrote:
> > Hi everybody,
> >
> > Yep, I think you all made a point when saying "probe" in english is really 
> > not quite... optimal ;) I personally like the PortWine idea very much - 
> > we'll consider renaming the initiative accordingly.
> > 
> 
> I request 20% of all name-change related fan-mail ;)

Sure - I hope you have a high bandwidth connection ?-)



Cheers,




David




Re: Systray patch but explorified

2004-12-23 Thread Alexandre Julliard
Mike Hearn <[EMAIL PROTECTED]> writes:

> That's a bit vague, how should it be done? I also don't understand why
> the XEMBED code has to be split off, that's the standard way to dock
> tray icons in all modern desktops. If we don't dock the icons, what
> else can we do with them?

The code has to be split off from the explorer patch because it's
independent, you don't need XEMBED to add an explorer process, and you
don't need an explorer process to support XEMBED; and the rule is that
separate changes should be done as separate patches, for many good
reasons.

The other thing that needs to be done differently is that the
WS_EX_TRAYWINDOW flag has to go, that's not Windows compatible. We
need to define an appropriate interface that doesn't involve
overloading Win32 flags.

> > Also the 16-bit calls need to be removed.
> 
> I did it that way because when I last asked you how to marshal an
> HICON you said to use the 16-bit functions to get the data. How can I
> marshal the HICON without using GlobalLock16 and friends?

You should be able to do it with GetIconInfo and friends.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Interface for working directories/launchers

2004-12-23 Thread Mike Hearn
Hi,

Wine currently creates launchers (.desktop files) with an Exec line like
this:

Exec=wine 'c:\games\supreme\supreme.exe'

But, some games expects to be run from its working directory. As working
directory typically doesn't matter to UNIX apps, some desktop environments
like GNOME don't let you set it. Really, this is a Wine specific issue.

So I'm wondering how we should fix this. The most obvious is a way to tell
Wine to change the working directory to the path of the EXE file before
running it, but we can't introduce command line switches any more and an
environment variable for this doesn't make much sense.

My proposal is to have a new winelib app "winemenulauncher" which simply
takes the working directory, program and arguments, and runs the program
but switching current directory first, ie the menu entry would look like:

Exec=wine winemenulauncher c:\games\supreme supreme.exe

Hopefully this should let us fix the case of games like Dungeon Keeper
which actually crash when run from their install directory.

Does this sound sensible?

thanks -mike




Re: Moved some strings to resources

2004-12-23 Thread Juan Lang
Hi Jacek, small suggestion:

> @@ -1391,8 +1393,11 @@ static LRESULT FILEDLG95_InitControls(HW
>/* change Open to Save FIXME: use resources */
>if (fodInfos->DlgInfos.dwDlgProp & FODPROP_SAVEDLG)
>{

The comment is out of date, you did use resources.

--Juan



__ 
Do you Yahoo!? 
Yahoo! Mail - now with 250MB free storage. Learn more.
http://info.mail.yahoo.com/mail_250



Re: Systray patch but explorified

2004-12-23 Thread Mike Hearn
On Thu, Dec 23, 2004 at 06:10:50PM +0100, Alexandre Julliard wrote:
> I'm still hoping to see a version that doesn't include the xembed
> stuff, this will have to be done differently anyway. 

That's a bit vague, how should it be done? I also don't understand why
the XEMBED code has to be split off, that's the standard way to dock
tray icons in all modern desktops. If we don't dock the icons, what
else can we do with them?

> Also the 16-bit calls need to be removed.

I did it that way because when I last asked you how to marshal an
HICON you said to use the 16-bit functions to get the data. How can I
marshal the HICON without using GlobalLock16 and friends?

thanks -mike



Re: Systray patch but explorified

2004-12-23 Thread Alexandre Julliard
Mike Hearn <[EMAIL PROTECTED]> writes:

> On Mon, 13 Dec 2004 21:58:07 +, Mike Hearn wrote:
> > - Use freedesktop.org system tray protocol, remove legacy KDE support
> > - Introduce new Explorer process
> > - Rewrite system tray handling to be out of process
> 
> Hi Alexandre,
> 
> What needs doing next for this patch?

I'm still hoping to see a version that doesn't include the xembed
stuff, this will have to be done differently anyway. Also the 16-bit
calls need to be removed.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Wine regression caused by 12/02 18:05:37 UTC commit: breaks Total Annihilation

2004-12-23 Thread Robert Reif
Eric Pouech wrote:
Jonathan Gevaryahu a écrit :
Eric Pouech <[EMAIL PROTECTED]> wrote:
To: Anish Mistry <[EMAIL PROTECTED]>
Cc: wine-devel@winehq.org
Subject: Re: Wine regression caused by 12/02 18:05:37 UTC commit: 
breaks Total
Annihilation

and if you remove the entire line (if (!is_version_nt()) access = 
TIMER_ALL_ACCESS;)?
A+

--__--__--
That doesn't fix the problem here. Still the same trace response...
I haven't run it enough times to see if it will still occasionally 
work with that line altered or removed... I know it does work 
(without any changes from the version in CVS) about 5% of the time.
hmm it don't see where this could come from
could someone of you try to apply the patch in parts (semaphore, 
event, timer, mutex), just to narrow a bit where this could come from
A+


Is anyone still looking into this?
I'm seeing the same problem here (below messages repeated and 100% CPU 
usage)
on RH 9 with the direct sound regression test and some games.

0009: select( flags=4, cookie=0x4084f930, timeout=0, handles={0x64} )
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4084f930, timeout=0, handles={0x64} )
0009: select() = ACCESS_DENIED
0009: select( flags=4, cookie=0x4084f930, timeout=0, handles={0x64} )
0009: select() = ACCESS_DENIED



Re: MSVCRT, OpenGL bugs to look at (and a WM rewrite regression?)

2004-12-23 Thread Lionel Ulmer
On Thu, Dec 23, 2004 at 02:22:36PM +, Robert Shearman wrote:
> What about just not using desktop mode?

Ah no, we won't re-start the Desktop mode flame-war :-)

 Lionel

PS: and yes, as it works just fine in non-Desktop mode, it's not a 'severe'
bug at all.

-- 
 Lionel Ulmer - http://www.bbrox.org/



Re: MSVCRT, OpenGL bugs to look at (and a WM rewrite regression?)

2004-12-23 Thread Robert Shearman
Lionel Ulmer wrote:
On Thu, Dec 23, 2004 at 01:14:17PM +, Mike Hearn wrote:
 

Atoms set on the window should be process scoped not global. I think
this is something for Alexandre to look at.
   

Well, after some more additional TRACEs, it's not an atom problem after
all... It's just that the HWND for the desktop window is the same for both
processes (which is normal) but that means that the second process just
overwrites the 'whole_window' atom for the 'common' desktop window and
corrupts it for the first process started.
So I do not have an easy fix in mind except the merging of the various
'winedesktop' work that was done some time ago to have only one X11 window.
 

What about just not using desktop mode?
Rob


Re: MSVCRT, OpenGL bugs to look at (and a WM rewrite regression?)

2004-12-23 Thread Lionel Ulmer
On Thu, Dec 23, 2004 at 01:14:17PM +, Mike Hearn wrote:
> Atoms set on the window should be process scoped not global. I think
> this is something for Alexandre to look at.

Well, after some more additional TRACEs, it's not an atom problem after
all... It's just that the HWND for the desktop window is the same for both
processes (which is normal) but that means that the second process just
overwrites the 'whole_window' atom for the 'common' desktop window and
corrupts it for the first process started.

So I do not have an easy fix in mind except the merging of the various
'winedesktop' work that was done some time ago to have only one X11 window.

  Lionel

-- 
 Lionel Ulmer - http://www.bbrox.org/



Re: MSVCRT, OpenGL bugs to look at (and a WM rewrite regression?)

2004-12-23 Thread Tom
Jesse Allen wrote:
Unfortunately I can't try your game at the moment cause it will take
me too long to download -- 2 KB/s down only =(
Hello,
You may want to look here if you only get 2 KB/s
http://www.krasu.ru/soft/chuchelo/download.php3
Tom

Jesse





Re: Systray patch but explorified

2004-12-23 Thread Mike Hearn
On Mon, 13 Dec 2004 21:58:07 +, Mike Hearn wrote:
> - Use freedesktop.org system tray protocol, remove legacy KDE support
> - Introduce new Explorer process
> - Rewrite system tray handling to be out of process

Hi Alexandre,

What needs doing next for this patch?

thanks -mike




Re: MSI: First go at thread safety for MSI records

2004-12-23 Thread Mike Hearn
On Thu, 23 Dec 2004 21:11:41 +, Mike McCormack wrote:
> What do you suggest?

Prove you're a real man by doing everything including linked lists
using the Interlocked functions and busy-wait loops.

Critical sections are for wimps ;)




Re: MSVCRT, OpenGL bugs to look at (and a WM rewrite regression?)

2004-12-23 Thread Mike Hearn
On Thu, 2004-12-23 at 13:53 +0100, Lionel Ulmer wrote:
> Yeah, I already tried once to debug this and was a bit stuck... I had no
> idea how to progress further on this though.

I sunk quite a few hours into it and didn't see anything. I think the
only way to find this one will be by writing lots of unit tests and
hoping one trips.

> Did you try with a 'reference driver' (like Mesa) ? It's pretty rare that a
> bug is specifically in Wine's implementation of OpenGL but rather in
> interactions between Wine and the GL driver.

Nope. I did think it may be a driver issue, I'm using the nVidia binary
drivers (latest release). I will go back to "nv" which should force Wine
to use Mesa, and see if it still happens.

> And more important, it's a bitch to find out exactly which graphic
> primitives are responsible to display something like the sky in thousands of
> GL traces so it's almost impossible to debug.

Ah :( I was wondering how you did it, I thought there may be some magic
tool or technique you had. I suppose not :(

> And as one can see, the Desktop window 'atom' seems to have been changed by
> the 'graphic chooser' application which means that 'Supreme.exe' tries to
> get the Window attributes of a window that is now deleted => nice X11
> crash.

Atoms set on the window should be process scoped not global. I think
this is something for Alexandre to look at.

Maybe we need some unit tests for window atoms if we don't already have
them.

It doesn't really matter for me. The game (for once) works perfectly in
full screen mode. Now I have a launcher on my panel and desktop with the
right icon, that launches the app in fullscreen mode, and runs (nearly)
perfectly with native performance. That's how Wine should be! Merry
Christmas everybody :D

thanks -mike




Re: MSVCRT, OpenGL bugs to look at (and a WM rewrite regression?)

2004-12-23 Thread Lionel Ulmer
> 1) There seems to be a bug in our msvcrt file reading APIs. I've chased
>this one before and got nowhere, but maybe somebody more familiar with
>the code can find it. We seem to pass back corrupt data: with builtin
>msvcrt the demo complains with a nicely detailed assertion that it
>can't find a file marker it's looking for. Native MSVCRT from WinXP
>makes it work (once you set winver=winxp)

Yeah, I already tried once to debug this and was a bit stuck... I had no
idea how to progress further on this though.

> 2) When racing, the sky is black. An OpenGL bug perhaps? Weirdly when it's
>showing the pre-recorded demos the sky is just fine. The rest of the
>graphics are perfect.

Did you try with a 'reference driver' (like Mesa) ? It's pretty rare that a
bug is specifically in Wine's implementation of OpenGL but rather in
interactions between Wine and the GL driver.

And more important, it's a bitch to find out exactly which graphic
primitives are responsible to display something like the sky in thousands of
GL traces so it's almost impossible to debug.

> Finally if you put it in desktop mode, an X protocol error occurs
> initialising OpenGL. The XGetWindowAttributes call complains of a bad
> window. I debugged this for a bit and got nowhere, it wasn't as
> straightforward as it looked. Suffice to say that at the point it died
> opengl32.dll had been initialised several times already with the same
> value for root_window, and it worked each time previously (yes sync was
> enabled).

The bug was actually not that hard to find. Basically, what happens is the
following (with some additionnal TRACEing added in X11DRV):

0009:trace:x11drv:X11DRV_create_desktop created 487
  'Supreme.exe' starts and gets its own Desktop window
000c:trace:x11drv:X11DRV_create_desktop created 4e7
  Now the 'graphic chooser' application starts and creates its own Desktop
  window
000c:trace:opengl:process_attach 0x78052988 04e7
000c:trace:opengl:process_attach 0x78052988 04e7
(...)
  In the case of the 'graphic chooser', one can see it uses the correct
  window.
0009:trace:opengl:process_attach 0x78054910 04e7
  But then the main games does a 'LoadLibrary' on OpenGL and the
  'process_attach' function is called.

And as one can see, the Desktop window 'atom' seems to have been changed by
the 'graphic chooser' application which means that 'Supreme.exe' tries to
get the Window attributes of a window that is now deleted => nice X11 crash.

This will surely be fixed by any proper 'only one window' Desktop patches
(for which I lust for since a long time :-) )... I will see how I could
'hack' this while waiting for the proper Desktop fix (maybe having some
'process-local' atom to store the Desktop window instead of a global one).

> This seems to affect all OpenGL+desktop mode apps.

It only affects applications which do start 'helper' applications before
doing OpenGL stuff. For example, 'TreeMark' works fine in Desktop mode.

Lionel

PS: are the 'TID' globally unique or are they only 'process unique' ?

-- 
 Lionel Ulmer - http://www.bbrox.org/



Re: MSI: First go at thread safety for MSI records

2004-12-23 Thread Mike McCormack
Alexandre Julliard wrote:
Do you really need a separate critical section for every single MSI
object?  That seems a bit overkill to me.
What do you suggest?
Mike



Re: MSI: First go at thread safety for MSI records

2004-12-23 Thread Robert Shearman
Mike McCormack wrote:
Alexandre Julliard wrote:
Do you really need a separate critical section for every single MSI
object?  That seems a bit overkill to me.

What do you suggest?
Keep the msiobj_lock/msiobj_unlock functions, but make them use a 
process-wide critical section. It will then be simple to add a per 
object critical section if it is proved that performance is suffering.

Rob


Re: Approving of the WINEprobe initiative

2004-12-23 Thread Izak Burger
Stefan Munz wrote:
as my partner David Gümbel is travelling much these days and thus is badly 
online available, I thought I add a few lines here :-)
Boy it is good to see someone struggle as much with English as I 
struggle with German :-)  Badly online?  You either mean "hardly" online 
(ie not many times, which I think would be wenig auf Deutsch) or that 
his connection speed is low.

As this is a german project, actually a swabian project ;-) it is important 
for us, that the name sounds good in german. And yes, there are some english 
alternatives that sound funny in german too or that people who only speak 
german would'nt even understand.
I think I understand.  Probe obviously means the same as "proef" in my 
mother tongue which means "to test" or "to be tested".  I don't think 
there is an English word that will do justice, and "probing" makes sense 
even in English, even if it does not generate excitement.

But that is just me, being bored at work two days before Christmas and 
looking for some email to answer...

Schönes Weinacht,
Izak
--
Technically speaking, if you receive this email, you are the intended
recipient.  Unless specifically stated otherwise I speak for myself.  I
am not responsible for anything you do with or without this email.  By
replying to this message you or any software agent acting on your behalf
agree that I am the intended recipient. You also agree that I shall be
free to use the contents of such a message as I see fit.


Re: [OLE #10] Make out of process COM work with OXID based marshal ids

2004-12-23 Thread Robert Shearman
Mike Hearn wrote:
This patch makes InstallShield work again, and should let you get
further Bill.
- Ensure all intermediate threads join the original apartment
- Make the listener thread fully apartment scoped (one per apt not per
 process)
- Improve "already have mid" error message
- Rename _StubReaderThread to stub_dispatch_thread
- Improve tracing
 

Can you submit this patch again, but without the local server changes? 
You have persuaded me that this is the only way to keep things working 
for the moment. I'll submit a seperate patch for the local server 
problem, if that's ok with you.

Rob


Re: MSI: First go at thread safety for MSI records

2004-12-23 Thread Alexandre Julliard
Mike McCormack <[EMAIL PROTECTED]> writes:

> Index: dlls/msi/msipriv.h
> ===
> RCS file: /home/wine/wine/dlls/msi/msipriv.h,v
> retrieving revision 1.32
> diff -u -r1.32 msipriv.h
> --- dlls/msi/msipriv.h22 Dec 2004 15:05:07 -  1.32
> +++ dlls/msi/msipriv.h23 Dec 2004 01:43:40 -
> @@ -54,6 +54,7 @@
>  UINT magic;
>  UINT type;
>  UINT refcount;
> +CRITICAL_SECTION cs;
>  msihandledestructor destructor;

Do you really need a separate critical section for every single MSI
object?  That seems a bit overkill to me.

-- 
Alexandre Julliard
[EMAIL PROTECTED]



Re: Approving of the WINEprobe initiative

2004-12-23 Thread Stefan Munz
as my partner David Gümbel is travelling much these days and thus is badly 
online available, I thought I add a few lines here :-)

> <[EMAIL PROTECTED]> wrote:
> > Jep, its actually a pun: WINEprobe means be something like WINEtasting in
> > english an maybe "degustation de WINE" in french. It's a little hard to
> > translate puns, sorry ;) Maybe this is helpful:
> > http://dict.leo.org/?search=weinprobe
>
> I saw that reference later in the email.  That does make sense and I
> guess WINEprobe is a good name.  Not so good when said in English, but
> then again that doesn't really matter.  Puns are fun.  I'm sure
> there's plenty of English words that don't sound so good in German :)

As this is a german project, actually a swabian project ;-) it is important 
for us, that the name sounds good in german. And yes, there are some english 
alternatives that sound funny in german too or that people who only speak 
german would'nt even understand.

>
> By the way, didn't we standardize on "Wine" rather than "WINE" a few
> years ago?  Would "WineProbe" be more appropriate?

I think this is originally me fault as I created the first draft for this 
project. WineProbe or Wine-Probe would be at least as good as WINEProbe, so 
I'll change it this way.



> If you do contribute to Wine, we'll gladly add you to our acknowledgements
> page ( http://www.winehq.org/site/acknowledgement ).  Then you can say
> things in press releases like, "WRS, an acknowledged Wine contributor,
> ."   Anyone disagree with that idea?

this sounds great, but the WRS would not contribute to Wine (besides they host 
the WineConf, but the decision is still pending as far as I know), this would 
be ITOMIG. And I would appreciate the idea very much.

Stefan Munz

>
> -Brian Vincent