Status of 64 bit Wine

2008-12-01 Thread Michael Ost
Hi list,

Every once in a while my boss asks me about 64 bit wine. And today was 
the day. So what's the status?

 From my understanding there are two parts to the question. First, is 
anyone using a 64 bit build of Wine? How successfully? Does it pass the 
internal wine tests?

And second, is there any progress on loading 64 bit windows binaries in 
Wine? My understanding was that changes were needed to gcc to make that 
happen. Is that correct? Is there any progress on that score?

And please correct any misunderstandings I may have.

Thanks... mo




Re: winetest.exe now available on test.winehq.org

2008-12-01 Thread Paul Millar
On Saturday 29 November 2008 15:40:33 Paul Vriens wrote:
> This also means that Paul Millars winetest is no longer available.

Yup, this is true.  After providing winetest.exe for (I think) a little over 4 
years, quisquiliae is falling silent and WineHQ is picking up the baton for 
winetest.exe.


> I'd like to thank Paul for all the hard work he did with keeping up that
> site and providing us for years with a cross compiled version of winetest. I
> also like to thank the people that provided the necessary MinGW patches in
> the past to get that winetest compiled again.

I'd like to add my vote of thanks to the people who have helped out behind the 
scenes, providing useful suggestions or sending in patches for MinGW so we 
can keep winetest.exe rolling out the door (in alphabetical order)

Alexandre Julliard,
John Klehm,
Kevin Koltzau,
Saulius Krasuckas,
Stefan Leichter,
Hans Leidekker,
Mike McCormack,
Juan Melgarejo,
Detlef Riekenberg,
Sebastian Schauenburg,
Brian Vincent,
and Paul Vriens.

(and anyone else I've inadvertently forgotten)

My thanks to you all!

Cheers,

Paul.





signature.asc
Description: This is a digitally signed message part.



Re: [08/12] msxml3: Add an internal IUnknown object for xmlnode

2008-12-01 Thread Michael Karcher
Am Samstag, den 29.11.2008, 10:52 +0100 schrieb Michael Karcher:
> This makes the xmlnode structures kind-of aggregatable COM objects.
> The explanation of the new reference management is in the rather verbose
> comment at the top of the new node_unk.c file.

For reference, the comment explaining the proposed reference counting
scheme is at the end of this mail. This patch got the comment on IRC: 
"julliard: mkarcher: the comment explaining that COM rules are not
followed rings an alarm bell".

So, let me first explain the problem I'm trying to solve.

In libxml2, the application is responsible for lifetime management,
whereas in msxml3, lifetime management is done by reference counting.
The XML documents are highly cyclic data structures: There is one real
root, called the "document node". In XML documents, it has a single
child, the so called "document element". The document element is the
root of the so called DOM tree. Every node in the DOM tree has a
get_parent and a get_ownerDocument method. Also, each non-leaf node has
a get_children method. This is opposed to the standard
container-containee model, where the container owns a reference on the
containees, but the containees do not know about being in a container.
Reference counting in that case is straightforward.

Currently, msxml3 implements reference counting in the following way: As
soon as an interface object for any DOM node is requested, the reference
count of the document is increased by one, and as soon as the interface
looses its final reference, the document's reference count is
decremented. If the document's reference count reaches zero, no pointer
to any object in the DOM tree is out anymore, so the document can be
deleted. This seems to work nicely, but has two major catches, that made
me do this rewrite of the reference management:

a) msxml3 has methods to splice subtrees.
b) msxml3 can create nodes nodes owned by a document, that are not in
the DOM tree

Point a) means that the document a node belongs to is not constant over
the lifetime of the node. As in the current model, the node needs to
take a reference on its current document, reference counts have to be
adjusted. The xmldoc_release and xmldoc_add_ref function calls in
removeChild, insertBefore (and alike) seem to take care of this. But as
the bullet already said, it is not just splicing the node passed into
the splicing function, but a whole subtree! That means that all
interface objects to child nodes have to move their reference to the new
document. Alas, there is *no* *way* in current wine to find all
interface objects for a given node, so there is no way to tell these
interface objects to move their references. As there is also no way just
to know *how* *many* interface objects are out for a given node, let
alone for a whole subtree, reference-correct moving is impossible.

Point b) means that just freeing the nodes in the DOM tree on document
destruction does not get all the nodes belonging to the document. This
is taken care of in the orphan list. The (benign) problem with the
orphan list approach is that the so called orphan subtrees, i.e.
subtrees that are not part of the document get not freed as soon as no
references to the subtree are out anymore, but not until there are no
references to any node that is associated with the document. Think
put_documentElement, that replaces the whole DOM tree, making the old
tree orphan. This might be quite a lot of wasted memory.

Now, lets look at what can be done.
To solve the important issue in part a, there are two possible
approaches:
 a1) Move to a concept that doesn't need the missing information
 a2) Make the missing information available.
My patch went the route of a1), but I think a2) is also possible: We
might count reference to a node in the _private element of the node, so
the number of references to a node is at hand. If a subtree is spliced,
we would have to traverse the whole subtree to collect the number of
references in the subtree to move from the old document to the new
document. Another a2) approach is to count the number of references to
the whole subtree inside the _private element. This makes obtaining the
number of references to the subtree an O(1) operation, but updating the
interface object count of one node means the interface count of all
parents has to be updated, too. While this is not as expensive as a
subtree traversal, updating interface object counts is a very common
operation that ought to be O(1) too, and not O(depth).

To solve the issue of b), the same things are imaginable. If a node gets
orphan, check whether the whole subtree is orphan, and nuke it if it is.
If it is not, add it to the orphan list. If later the last reference
into that subtree is freed, one has to detect that the subtree is
orphan. One could do that by checking on every interface release whether
the subtree is now orphan. As this is a "is there any reference to the
subtree" question, the first a2 approach is out immediatel

Re: Bugzilla's down again

2008-12-01 Thread Lei Zhang
On Wed, Nov 26, 2008 at 2:15 PM, Austin English <[EMAIL PROTECTED]> wrote:
> On Wed, Nov 26, 2008 at 4:12 PM, Jeremy Newman <[EMAIL PROTECTED]> wrote:
>> mysqld didn't crash at least. This seems to be a temporary issue that
>> cleared up when the server load came back down.
>>
>> I don't think the server has been down hardly at all? Where are you getting
>> your "down so much" from?
>>
>> -Newman
>>
>> Austin English wrote:
>>>
>>> Different error than usual though:
>>>
>>> 
>>> 
>>> 500 Internal Server Error
>>> 
>>> Internal Server Error
>>> The server encountered an internal error or
>>> misconfiguration and was unable to complete
>>> your request.
>>> Please contact the server administrator,
>>>  [EMAIL PROTECTED] and inform them of the time the error occurred,
>>> and anything you might have done that may have
>>> caused the error.
>>> More information about this error may be available
>>> in the server error log.
>>> 
>>>
>>> Is there anything we can do to prevent it from going down so much?
>>>
>>
>
> Sorry if that came off as rash. It's been much better in the past few
> months. But I was referring to the semi-frequent mysql crashes. I'm on
> bugzilla a lot, so even if it's only down for a few minutes, I usually
> catch it.
>
> --
> -Austin
>
>
>

I notice it from time to time as well. 95% of the time it works fine,
but every so often, for about 30 minutes or so, I get an error 500 or
a mysql error.




Re: Error Message and Office 2000

2008-12-01 Thread Rob Shearman
2008/11/30 [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
> Hi,
>
> I'm in Southern California.
> I did a search for the event when my
> Office 2000 Professional gave me an error
> message. It won't setup.
> The event was 1000
> and the fault address is the same as a
> read out of your computer that you posted online.
> http://www.winehq.org/pipermail/wine-devel/2003-July/018313.html
> Did you ever figure out how to get it to work?

It looks like you want the wine-users mailing list.

Alternatively, you could try CrossOver instead:
http://www.codeweavers.com/products/cxlinux/download_trial/

-- 
Rob Shearman




Patchwatcher locked up?

2008-12-01 Thread Michael Stefaniuc
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello Dan,

did the patchwatcher look up? The last patch it shows is from
30-Nov-2008 14:01.

bye
michael
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Red Hat - http://enigmail.mozdev.org

iD8DBQFJNCYg08alQ5mXm14RAnsPAJ44C2vVFmSnD5OknaoMGPkSuB+VFQCfbb6J
PhbFmQ4U1nOrHIw5JycPWbc=
=005q
-END PGP SIGNATURE-




Re: Did anyone have any trouble compiling wine today? Or was it just me ....

2008-12-01 Thread Susan Cragin
>On Mon, Dec 1, 2008 at 9:06 AM, Susan Cragin <[EMAIL PROTECTED]> wrote:
I don't know off hand then. I'd say run a regression test. As a guess,
you might try removing:
#ifdef HAVE_LINUX_SERIAL_H
#include 
#endif

but that would just be a kludgy workaround.

--
-Austin
>>>
>>>Will try both tomorrow.
>>>Thanks.
>>
>> Austin:
>> Did not see above section, but did see this, so removed it.
>> #ifdef HAVE_LINUX_INPUT_H
>> #include 
>> #endif
>> Did not work. Got same error. :(
>
>Regression test? As Detleft said, it may be kernel related.
>
>-- 
>-Austin

Found something similar to what Detlef found, so filed a Ubuntu bug against the 
kernel. 
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/303711
Also tried new kernel, 2.6.28-1-ub, but got same result. 
Susan






Re: netapi32: Why my patch is ignored?

2008-12-01 Thread Vitaly Perov
On Monday 01 December 2008 18:45:22 Alexandre Julliard wrote:
> Vitaly Perov <[EMAIL PROTECTED]> writes:
> > +GetCurrentDirectoryA(MAX_PATH, tmpPath);
> > +result = SetCurrentDirectoryW(path);
> > +SetCurrentDirectoryA(tmpPath);
> > +if (!result) return ERROR_FILE_NOT_FOUND;
>
> This is not the right way to test if a directory exists.

Thank you for your answer. I will fix it.

-- 
Best wishes,
Vitaly Perov
Russia, Saint-Petersburg. www.etersoft.ru




Re: mshtml: suppress module unloading while gecko is loaded

2008-12-01 Thread Dan Kegel
On Mon, Dec 1, 2008 at 12:08 AM, Paul Bryan Roberts
<[EMAIL PROTECTED]> wrote:
> In mshtml, I count 7 dll reference count inc/dec pairs, including the server
> lock pair, in main.c, htmldoc.c and protocol.c   I count 28 pairs of
> InterlockedDecrement / InterlockedIncrement calls around the creation /
> destruction of active objects throughout the dll.  That would seem to imply
> 22 missing reference count inc/dec pairs.

I suspect Alexandre didn't commit my lame patch because he wants us to
have a go at getting CanDLLUnloadNow right.  Thanks for the analysis.

> If I finish my script, it will report how many pairs are missing for which
> dlls and in which source files

That sounds quite handy.

> which might help make a decision whether the
> take up Mike Hearn's suggestion of never unloading anything.  Even that
> should involve work taking out the reference counts that are already there.

I have a feeling we're not quite in the "memory is free" era yet...

> I do not see how the classic WinAPI regression tests can catch this kind of
> bug other than being a tautologous test of the creation/destruction all the
> known active objects.  If Mike Hearn's suggestion is not taken up, the
> script might also be useful for regression test purposes.

Your script is doing static analysis ... maybe it should be integrated into
http://people.redhat.com/mstefani/wine/smatch/
Making it a smatch rule might be easier than writing it from scratch.
- Dan




Re: netapi32: Why my patch is ignored?

2008-12-01 Thread Paul Vriens
Vitaly Perov wrote:
> What is wrong with my patch?
> 
> I have fixed all errors found by Juan Lang.
> I resent this patch several times, but hasn't received any answer.
> 
> Why my patch is ignored?
> 
> Maybe something is still wrong, but why somebody just tell me about it?
> 
> "Juan Lang" <[EMAIL PROTECTED]> wrote:
>> Hi Vitaliy, overall your patch looks pretty good.  A few minor points:
>>
>> +FIXME("(%s %d %p) partially implemented\n",
>> debugstr_w(servername), level, buf);
>> Because you add a more specific FIXME for every unimplemented path, it
>> seems to me this would be better as a TRACE.
>>
>> +result = RegCreateKeyExA(HKEY_LOCAL_MACHINE, regKey, 0, NULL, 0, 
>> KEY_WRITE,
>> +NULL, &hKey, &disposition);
>> +if (result != ERROR_SUCCESS)
>> +{
>> +FIXME("Unable to open/create key 'HKLM\\%s'\n", regKey);
>> +return result;
>> This shouldn't be a FIXME, as there's nothing to "fix" in the code:
>> if the key couldn't be created, there's a setup problem or some other
>> unrecoverable error.  A TRACE is fine.
> 
>> +/* FIXME: A duplicate patch checking should be implemented here */
>> Do you mean a duplicate path?
> 
> 
> 
> 
> 
I'm not sure about this, but I don't like the mixture of A and W-calls.

-- 
Cheers,

Paul.




Re: [1/4] winemenubuilder: move path normalization to Process_Link and Process_URL

2008-12-01 Thread Ambroz Bizjak
On Monday 01 December 2008, Francois Gouget  wrote:
> On Sun, 30 Nov 2008, Ambroz Bizjak wrote:
> [...]
>
> > To allow that, I've modified winemenubuilder to record created shortcuts
> > to registry, and my service will obtain and maintain the list of .lnk/url
> > files from there.
>
> The general idea is good, but I don't think you should store these paths
> in the registry. Instead the daemon should ask for file change
> notifications for the relevant special folders (CSIDL_STARTMENU, etc)
> and act accordingly when a .lnk or .url file gets added / deleted
> somewhere in thes directories.

In that case the daemon would still have to store the list of known files, so 
that if a shortcut is deleted while Wine is not running, or if my service is 
not running at that particular time, its removal could still be detected.

Another issue with your suggestion is that it would complicate watching. 
Assuming the notification functions don't work everywhere, and they may have 
race conditions*,  we still have to poll for changes - that means recursing 
the folders.

Last, my service does not yet remove created icons. With the current design, 
it is largely a matter of also recording the icon names to registry in 
winemenubuilder. It would be quite hard and hackish to locate the icon from 
the .desktop file. It would even be hard to get the logical location of the 
shortcut only from the location of the .lnk, because functions in menubuilder 
that do that require the file to exist.

* I once deleted two watched files in some folder, but only one notification 
was generated, and my program found only one of the files missing.




Re: netapi32: Why my patch is ignored?

2008-12-01 Thread Alexandre Julliard
Vitaly Perov <[EMAIL PROTECTED]> writes:

> +GetCurrentDirectoryA(MAX_PATH, tmpPath);
> +result = SetCurrentDirectoryW(path);
> +SetCurrentDirectoryA(tmpPath);
> +if (!result) return ERROR_FILE_NOT_FOUND;

This is not the right way to test if a directory exists.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




netapi32: Why my patch is ignored?

2008-12-01 Thread Vitaly Perov
What is wrong with my patch?

I have fixed all errors found by Juan Lang.
I resent this patch several times, but hasn't received any answer.

Why my patch is ignored?

Maybe something is still wrong, but why somebody just tell me about it?

"Juan Lang" <[EMAIL PROTECTED]> wrote:
>Hi Vitaliy, overall your patch looks pretty good.  A few minor points:
>
>+    FIXME("(%s %d %p) partially implemented\n",
>debugstr_w(servername), level, buf);
>Because you add a more specific FIXME for every unimplemented path, it
>seems to me this would be better as a TRACE.
>
>+    result = RegCreateKeyExA(HKEY_LOCAL_MACHINE, regKey, 0, NULL, 0, 
>KEY_WRITE,
>+                NULL, &hKey, &disposition);
>+    if (result != ERROR_SUCCESS)
>+    {
>+        FIXME("Unable to open/create key 'HKLM\\%s'\n", regKey);
>+        return result;
>This shouldn't be a FIXME, as there's nothing to "fix" in the code:
>if the key couldn't be created, there's a setup problem or some other
>unrecoverable error.  A TRACE is fine.

>+    /* FIXME: A duplicate patch checking should be implemented here */
>Do you mean a duplicate path?

-- 
Best wishes,
Vitaly Perov
Russia, Saint-Petersburg. www.etersoft.ru
From 073fc32326d2b48be58487d291b0c304e6aa34f4 Mon Sep 17 00:00:00 2001
From: Vitaly Perov <[EMAIL PROTECTED]>
Date: Tue, 18 Nov 2008 16:10:10 +0300
Subject: [PATCH] netapi32: Add partial implementation of NetShareAdd

---
 dlls/netapi32/share.c |  121 -
 include/lmshare.h |   11 +
 2 files changed, 130 insertions(+), 2 deletions(-)

diff --git a/dlls/netapi32/share.c b/dlls/netapi32/share.c
index f19f732..8fecf95 100644
--- a/dlls/netapi32/share.c
+++ b/dlls/netapi32/share.c
@@ -18,6 +18,9 @@
 #include "wine/debug.h"
 #include "lm.h"
 #include "winerror.h"
+#include "winbase.h"
+#include "winreg.h"
+#include "wine/unicode.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(share);
 
@@ -106,10 +109,124 @@ NET_API_STATUS WINAPI NetShareGetInfo(LMSTR servername, LMSTR netname,
 
 /
  * NetShareAdd  (NETAPI32.@)
+ *
+ * PARAMS
+ *   servername[I]   Pointer to a string with the name of the server
+ *   level [I]   Data information level
+ *   bufptr[I]   Pointer to the buffer that specifies the data
+ *   parm_err  [O]   Index of the first member of the share information
+ *   structure that causes the ERROR_INVALID_PARAMETER
+ *
+ * RETURNS
+ *   If successful, the function returns NERR_Success
+ *   On failure it returns:
+ * ERROR_ACCESS_DENIED User has no access to the requested information
+ * ERROR_INVALID_LEVEL Value of 'level' is not correct
+ * ERROR_INVALID_NAME  TThe character or file system name is not correct
+ * ERROR_INVALID_PARAMETER Wrong parameter
+ * NERR_DuplicateShare The given name is already in use
+ * NERR_RedirectedPath The operation is not valid for a redirected resource
+ * NERR_UnknownDevDir  The device or directory does not exist
+ *
+ * FIXME
+ *   Sharing of the given resource is unimplemented.
+ *   Now this function just create a registry entry
  */
 NET_API_STATUS WINAPI NetShareAdd(LMSTR servername,
 DWORD level, LPBYTE buf, LPDWORD parm_err)
 {
-FIXME("Stub (%s %d %p %p)\n", debugstr_w(servername), level, buf, parm_err);
-return ERROR_NOT_SUPPORTED;
+static const CHAR regKey[] =
+"SYSTEM\\CurrentControlSet\\Services\\lanmanserver\\Shares";
+static const WCHAR formatStr[] = { 'C','S','C','F','l','a','g','s','=','%',
+'d',' ','M','a','x','U','s','e','s','=','%','u',' ','P','a','t','h',
+'=','%','s',' ','P','e','r','m','i','s','s','i','o','n','s','=','%',
+'d',' ','R','e','m','a','r','k','=','%','s',' ','T','y','p','e','=',
+'%','d',0};
+WCHAR   paramStr[512];
+CHARtmpPath[MAX_PATH];
+SHARE_INFO_2*shi2;
+LPWSTR  netname = NULL;
+DWORD   type;
+LPWSTR  remark = NULL;
+DWORD   permissions;
+DWORD   max_uses;
+DWORD   current_uses;
+LPWSTR  path = NULL;
+LPWSTR  passwd = NULL;
+HKEYhKey;
+INT result;
+DWORD   disposition;
+
+TRACE("(%s %d %p %p) partially implemented\n", debugstr_w(servername),
+level, buf, parm_err);
+
+*parm_err = 0;
+
+if (servername && lstrlenW(servername))
+{
+FIXME("Only local sharing is supported\n");
+return ERROR_NOT_SUPPORTED;
+}
+
+switch (level)
+{
+case 2:
+shi2 = (SHARE_INFO_2*) buf;
+netname = shi2->shi2_netname;
+type = shi2->shi2_type;
+remark = shi2->shi2_remark;
+permissions = shi2->shi2_permissions;
+max_uses = shi2->shi2_max_uses;
+current_uses = shi2->shi2_current_uses;
+path = shi2->shi2_path;
+passwd = sh

Re: Did anyone have any trouble compiling wine today? Or was it just me ....

2008-12-01 Thread Susan Cragin
>>I don't know off hand then. I'd say run a regression test. As a guess,
>>you might try removing:
>>#ifdef HAVE_LINUX_SERIAL_H
>>#include 
>>#endif
>>
>>but that would just be a kludgy workaround.
>>
>>-- 
>>-Austin
>
>Will try both tomorrow.
>Thanks.

Austin:
Did not see above section, but did see this, so removed it. 
#ifdef HAVE_LINUX_INPUT_H
#include 
#endif
Did not work. Got same error. :(






Mono integration to Wine

2008-12-01 Thread Kornél Pál
Hi,

Wine is still using Mono by creating a new process altough it has 
support for _CorExeMain and _CorDllMain. There is a MonoFixupCorEE 
method exported by mono.dll that could be used.

I also did some research on executing exe assemblies without creating a 
mono.exe process on MS Windows by injecting code to the new process 
before initialization to load Mono. Note that because mscoree.dll is 
loaded at a very early process initilization stage no side-by-side 
manifests can be used that is required by newer MSVCRTs so I'll most 
likely create a separate DLL that will load mono.dll later in 
_CorExeMain or _CorDllMain.

For the above mentioned reason it may be better not to use 
MonoFixupCorEE yet.

I would like to receive comments on mixed-mode assembly support of Mono 
on Wine and if there are people willing to update the Loader to call 
_CorValidateImage, _CorExeMain (real entry point is not called for EXEs) 
and _CorImageUnloading for managed images.

MSVCRT also should call CorExitProcess on exit.

Kornél




Re: [2/2] shell32/autocomplete: add unit tests for autocomplete

2008-12-01 Thread Paul Vriens
Jan de Mooij wrote:
> Hi Paul,
> 
> Thanks for your reply.
> 
> On Mon, Dec 1, 2008 at 3:35 PM, Paul Vriens <[EMAIL PROTECTED]> wrote:
> 
>> There is an unrelated change to shelllink.c in this patch.
> 
> It's not unrelated, initguid.h needs to be included exactly once or
> you will get linker warnings (multiple definitions for...).
> It only compiles if i move it to autocomplete.c, looks like it should
> be in the first file which uses it..
> 
> Regards,
> 
> Jan de Mooij
> 
But I guess that's the reason it's not applied/committed. If you move the 
include of initguid.h to after windows.h it will work, not?

-- 
Cheers,

Paul.




Re: [2/2] shell32/autocomplete: add unit tests for autocomplete

2008-12-01 Thread Jan de Mooij
Hi Paul,

Thanks for your reply.

On Mon, Dec 1, 2008 at 3:35 PM, Paul Vriens <[EMAIL PROTECTED]> wrote:

> There is an unrelated change to shelllink.c in this patch.

It's not unrelated, initguid.h needs to be included exactly once or
you will get linker warnings (multiple definitions for...).
It only compiles if i move it to autocomplete.c, looks like it should
be in the first file which uses it..

Regards,

Jan de Mooij




Re: [2/2] shell32/autocomplete: add unit tests for autocomplete

2008-12-01 Thread Paul Vriens
Jan de Mooij wrote:
> Tests pass on 98, XP and Wine (after applying my previous patch)
> 
> 
> 
> 
> 
There is an unrelated change to shelllink.c in this patch.

-- 
Cheers,

Paul.




Re: [1/4] winemenubuilder: move path normalization to Process_Link and Process_URL

2008-12-01 Thread Francois Gouget
On Sun, 30 Nov 2008, Ambroz Bizjak wrote:
[...]
> To allow that, I've modified winemenubuilder to record created shortcuts to 
> registry, and my service will obtain and maintain the list of .lnk/url files 
> from there.

The general idea is good, but I don't think you should store these paths 
in the registry. Instead the daemon should ask for file change 
notifications for the relevant special folders (CSIDL_STARTMENU, etc) 
and act accordingly when a .lnk or .url file gets added / deleted 
somewhere in thes directories.


-- 
Francois Gouget <[EMAIL PROTECTED]>  http://fgouget.free.fr/
 Advice is what we ask for when we already know the answer but wish we didn't
 -- Eric Jong




Fwd: [1/2] shell32/autocomplete: fix handling of WM_KILLFOCUS messages (try 2)

2008-12-01 Thread Jan de Mooij
Hello,

Anybody knows why this patch was rejected?

Thanks in advance.


-- Forwarded message --
From: Jan de Mooij <[EMAIL PROTECTED]>
Date: Sat, Nov 29, 2008 at 8:57 PM
Subject: [1/2] shell32/autocomplete: fix handling of WM_KILLFOCUS
messages (try 2)
To: [EMAIL PROTECTED]




Re: wined3d: Sign-compare warnings fix

2008-12-01 Thread Andrew Talbot
Austin English wrote:

>> This->baseShader.device;
>> int i;
>> -unsigned int extra_constants_needed = 0;
>> +unsigned int i, extra_constants_needed = 0;
> 
> You forgot to remove 'int i' here.
> 

Thanks, Austin. Good catch!

-- 
Andy.






USB device drivers support

2008-12-01 Thread Alexander Morozov
Hello,

I sent patch "Add support of WDM drivers for USB devices." in October and 
received such reply from Alexandre Julliard:

> Your design needs a lot more thought. You can't add all these
> Wine-specific modules, or make winedevice special-case usb devices, or
> poll the server for the add_device request like you do. All this needs
> to be properly integrated in the existing infrastructure.

I`d like to ask about better way of modifying patches which add USB device 
drivers support before doing something.

Wineusb and wineusbhub can be moved to usbhub.sys. This driver creates a 
device which is used as second argument for AddDevice on Windows XP. So no 
wine-specific modules will be added.

Using wineserver to call AddDevice can be avoided if move code which loads 
device drivers and code which enumerates devices and call AddDevice to one 
process. This can be made if use one winedevice process for all drivers. This 
will allow every driver to use IRP, DEVICE_OBJECTs and other structures 
created by other driver and will help to implement such functions as 
IoGetDeviceObjectPointer. Can I do so? Or there are some reasons which do not 
allow?

Thanks, Alexander




Re: [advapi32/tests] Fix some crashes on NT4 (Try2)

2008-12-01 Thread Paul Vriens
On Sat, Nov 29, 2008 at 12:52 PM, Paul Vriens
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> (Try2 removes some useless LocalFree's when NewAcl is NULL, duh).
>
> NT4 crashes at 3 distinct places. The first two we can get rid of by
> removing
> the LocalFree on failure. The third one we can skip as we can detect NT4
> easily.
>
Just to be a little bit more precise. NT4 doesn't crash at those
LocalFree's but leaving either of them in will make sure the test
crashes a bit later.

-- 
Cheers,

Paul.




Re: ole32: implement CoGetCallContext and CoSwitchCallContext

2008-12-01 Thread Rob Shearman
2008/11/30 Austin English <[EMAIL PROTECTED]>:
> +if( !ppv)
> +return E_INVALIDARG;
> +
> +/* get COM tls */
> +info = COM_CurrentInfo();
> +if( !info)

Please try to keep the style consistent here. The style that the rest
of the file uses is a space after the "if" and no space inside the
brackets.

> +return E_OUTOFMEMORY;
> +
> +hr = RPC_E_CALL_COMPLETE;
> +if( info->ctx_call)
> +{
> +hr = IUnknown_QueryInterface( info->ctx_call, riid, ppv);
> +}
> +
> +if (FAILED(hr))

...

> +/* Receives a pointer to the call context object of the call currently
> +   in progress. This value is returned so that the original call context
> +   can be restored by the custom marshaller.
> +   The returned pointer will be NULL if there was no call in progress. */
> +*ppOldObject = info->ctx_call;
> +
> +/* It may be NULL if you are calling CoSwitchCallContext to switch back
> +   to the original call context and there was no original call context. 
> */
> +info->ctx_call = pNewObject;

You don't take a reference to the object that is passed-in. This is
against COM semantics and so requires a test case to prove that this
is indeed what the function does.

-- 
Rob Shearman




Re: wineconsole: Wait on events in curses backend using select instead of poll

2008-12-01 Thread Martin Storsjö

On Mon, 1 Dec 2008, Kai Blin wrote:


On Sunday 30 November 2008 00:52:57 Martin Storsjö wrote:

poll can't handle terminal devices on Darwin, since Tiger. See the
following discussion:
http://lists.apple.com/archives/Darwin-dev/2006/Apr/msg00066.html


There's reasons we switched from select to poll. You can't just switch back to


As far as I can tell from the history of curses.c, it never used select 
(directly) before, it used WaitForMultipleObjects, which was changed into 
a poll in 267d38e1bc78541221d20cc72a759acc78908e8e, "wineconsole: Don't 
use a Win32 wait on a Unix file descriptor."


But there may of course be other reasons for using poll, which I don't 
know about.



select to work around a OSX _bug_. If Apple can't get their act together to
fix this, this needs to go behind a configure check/ifdef.


Yes, that's true.

I'm not too familiar with the wine codebase and customs, so instead of 
nagging you with questions on what a proper solution would look like, 
should I just file a bug with the actual issue; that the curses based 
console is unusable on Darwin at the moment?


// Martin


Re: d3d9 : do not proceed reset or release from another thread than the one which created the device.

2008-12-01 Thread Henri Verbeet
2008/11/30 Jérôme Gardou <[EMAIL PROTECTED]>:
> -if (ref == 0) {
> +if (ref <= 0) {
This doesn't work, of course. ref is an ULONG. The check for Reset
should probably go into wined3d.



Error Message and Office 2000

2008-12-01 Thread [EMAIL PROTECTED]
Hi,

I'm in Southern California.
I did a search for the event when my
Office 2000 Professional gave me an error
message.  It won't setup.
The event was 1000
and the fault address is the same as a
read out of your computer that you posted online.
http://www.winehq.org/pipermail/wine-devel/2003-July/018313.html
Did you ever figure out how to get it to work?
Thanks!
Ciao!
Connie




  


Re: mshtml: suppress module unloading while gecko is loaded

2008-12-01 Thread Paul Bryan Roberts
 > Dan Kegel wrote:
 > Thanks to Mike Hearn for pointing out that mshtml reference
 > counting was wrong, and Jacek for pointing out how to fix
 > it for now.
 >
 > Once gecko is loaded, don't let mshtml unload.
 > This fixes a crash in starting Sketchup (bug 16164),
 > and probably fixes a number of other apps that
 > went pear-shaped after unloading mshtml...
 >
Bug 14065 is another instance of the same thing.

I did a quick survey of DllCanUnloadNow() on the Wine 1.1.8 code base a 
couple of weeks ago ...

  55 DllCanUnloadNow routines (in some 272 dll subdirectories)

  11 FIXME stubs return S_FALSE
   7 FIXME stubs return S_OK

   3 without FIXME return S_FALSE
   2 without FIXME return S_OK

  32 appear to be real implementations

However, the first in the list (alphabetically) is in astream/main.c.  
It's reference counter (ddl_ref) is not incremented or decremented 
anywhere.  I count four pairs of inc/dec omissions.

In mshtml, I count 7 dll reference count inc/dec pairs, including the 
server lock pair, in main.c, htmldoc.c and protocol.c   I count 28 pairs 
of InterlockedDecrement / InterlockedIncrement calls around the creation 
/ destruction of active objects throughout the dll.  That would seem to 
imply 22 missing reference count inc/dec pairs.

If I finish my script, it will report how many pairs are missing for 
which dlls and in which source files, which might help make a decision 
whether the take up Mike Hearn's suggestion of never unloading 
anything.  Even that should involve work taking out the reference counts 
that are already there.

I do not see how the classic WinAPI regression tests can catch this kind 
of bug other than being a tautologous test of the creation/destruction 
all the known active objects.  If Mike Hearn's suggestion is not taken 
up, the script might also be useful for regression test purposes.

Cheers,