Re: iphlpapi: _res is per-thread in glibc with pthreads

2010-02-07 Thread John Klehm
On Mon, Feb 8, 2010 at 12:01 AM, Dan Kegel  wrote:
> With test.  Without the fix, the test case crashes on my machine.
> Fixes crash in bug http://bugs.winehq.org/show_bug.cgi?id=21624
>
> Same fix probably needed in dnsapi, or maybe iphlpapi should
> use dnsapi rather than unix dns api.
>
> Thanks to AF for the analysis.
>

 testWin98OnlyFunctions();
 testWinNT4Functions();
-testWin98Functions();
+thread = CreateThread(NULL, 0, testWin98Functions, NULL, 0, &threadId);
+testWin98Functions(NULL);
+WaitForSingleObject( thread, INFINITE );

Is that extra non threaded testWin98Functions(NULL) supposed to be in there?

Regards,
--John Klehm




Re: idea: display drivers

2010-02-07 Thread Gert van den Berg
On Sun, Feb 7, 2010 at 22:47, David Gerard  wrote:
> No idea, sorry. Xsun is on extended (life-)support with Sun moving to
> Xorg (and Alan Coopersmith from Sun being one of the main Xorg
> developers). Xming is Xorg compiled for mingw

Xming: An ancient version of Xorg (at least for the free version) (6.9)

I have seen Solaris 10 default to Xsun in some cases... (Although Xorg
is available...)

What I meant is that requiring OpenGL might lose some portability...
(Needing an X server for console apps is irritation, but solvable
using something like Xvnc. This becomes a lot harder to solve if you
need an X server with OpenGL)

Gert




Re: Getting start with IXMLHTTPRequest

2010-02-07 Thread Jacek Caban

On 2/8/10 3:36 AM, Nikolay Sivov wrote:

Even if that's true, it's not a reason to choose wrong architecture.


Let's say we have a WinHttpRequest object that works, it provides 
similar interface as IXMLHTTP.
Why should I use urlmon for that? WinHttpRequest should stay in 
winhttp, and won't use urlmon.


We don't have, it's impossible. Pluggable protocol is one of the reasons 
and you can't handle them unless you use urlmon.



Btw, what was a reason for using it?


Everything IE-related should use it for binding. It's because of 
plugable protocols, shared wininet session and more. urlmon is not 
just a wrapper around wininet.
Why IXMLHTTPRequest is IE related? Or you mean that anything that uses 
internet should go through urlmon?


It is designed to be used by JScript scripts on web pages (although it's 
not the only use of it).


Jacek





Re: Getting start with IXMLHTTPRequest

2010-02-07 Thread Nikolay Sivov

On 2/8/2010 05:24, Jacek Caban wrote:

On 2/7/10 3:08 PM, Nikolay Sivov wrote:

On 2/7/2010 16:45, Hans Leidekker wrote:

On Sunday 07 February 2010 14:28:37 Nikolay Sivov wrote:


Recently I tried to start with this interface. It looks trivial enough
but since it's first time i'm using winhttp,
there could be some problems, especially cause IXMLHTTPRequest 
supports

asynchronous requests.

Could someone with winhttp knowledge review this patch before it 
goes to

far from reality?

P.S. any comments are welcome actually.
Last time this came up Jacek suggested to use urlmon instead of 
winhttp,

which may already handle asynchronous requests.

  -Hans

Such things:
---
static HRESULT WINAPI HttpInfo_QueryInfo(IWinInetHttpInfo *iface, 
DWORD dwOption,
void *pBuffer, DWORD *pcbBuffer, DWORD *pdwFlags, DWORD 
*pdwReserved)

{
HttpProtocol *This = INETINFO_THIS(iface);
FIXME("(%p)->(%x %p %p %p %p)\n", This, dwOption, pBuffer, 
pcbBuffer, pdwFlags, pdwReserved);

return E_NOTIMPL;
}
---
static HRESULT WINAPI HttpProtocol_Abort(IInternetProtocol *iface, 
HRESULT hrReason,

DWORD dwOptions)
{
HttpProtocol *This = PROTOCOL_THIS(iface);
FIXME("(%p)->(%08x %08x)\n", This, hrReason, dwOptions);
return E_NOTIMPL;
}
---
make me think it's not ready.


Even if that's true, it's not a reason to choose wrong architecture.
Let's say we have a WinHttpRequest object that works, it provides 
similar interface as IXMLHTTP.
Why should I use urlmon for that? WinHttpRequest should stay in winhttp, 
and won't use urlmon.



Also IXMLHTTPRequest methods look to directly map tp Winhttp calls.
For example how can I implement IXMLHTTPRequest::setRequestHeader() 
with urlmon?


By implementing IHttpNegotiate on bind status callback.

Thanks, will take a look.



Btw, what was a reason for using it?


Everything IE-related should use it for binding. It's because of 
plugable protocols, shared wininet session and more. urlmon is not 
just a wrapper around wininet.
Why IXMLHTTPRequest is IE related? Or you mean that anything that uses 
internet should go through urlmon?



Jacek









Re: Getting start with IXMLHTTPRequest

2010-02-07 Thread Jacek Caban

On 2/7/10 3:08 PM, Nikolay Sivov wrote:

On 2/7/2010 16:45, Hans Leidekker wrote:

On Sunday 07 February 2010 14:28:37 Nikolay Sivov wrote:


Recently I tried to start with this interface. It looks trivial enough
but since it's first time i'm using winhttp,
there could be some problems, especially cause IXMLHTTPRequest supports
asynchronous requests.

Could someone with winhttp knowledge review this patch before it 
goes to

far from reality?

P.S. any comments are welcome actually.

Last time this came up Jacek suggested to use urlmon instead of winhttp,
which may already handle asynchronous requests.

  -Hans

Such things:
---
static HRESULT WINAPI HttpInfo_QueryInfo(IWinInetHttpInfo *iface, 
DWORD dwOption,
void *pBuffer, DWORD *pcbBuffer, DWORD *pdwFlags, DWORD 
*pdwReserved)

{
HttpProtocol *This = INETINFO_THIS(iface);
FIXME("(%p)->(%x %p %p %p %p)\n", This, dwOption, pBuffer, 
pcbBuffer, pdwFlags, pdwReserved);

return E_NOTIMPL;
}
---
static HRESULT WINAPI HttpProtocol_Abort(IInternetProtocol *iface, 
HRESULT hrReason,

DWORD dwOptions)
{
HttpProtocol *This = PROTOCOL_THIS(iface);
FIXME("(%p)->(%08x %08x)\n", This, hrReason, dwOptions);
return E_NOTIMPL;
}
---
make me think it's not ready.


Even if that's true, it's not a reason to choose wrong architecture.


Also IXMLHTTPRequest methods look to directly map tp Winhttp calls.
For example how can I implement IXMLHTTPRequest::setRequestHeader() 
with urlmon?


By implementing IHttpNegotiate on bind status callback.


Btw, what was a reason for using it?


Everything IE-related should use it for binding. It's because of 
plugable protocols, shared wininet session and more. urlmon is not just 
a wrapper around wininet.



Jacek




Re: grrrrr

2010-02-07 Thread James McKenzie
Dan Kegel wrote:
> http://www.pro-linux.de/NB3/news/1/15259/starmoney-stellt-linux-variante-ein.html
> Looks like Star Money is blaming Wine for its troubles...
> IIRC, they switched to .net or something without asking whether it
> would work on Wine.
>   
.NET the evil geniuses in Redmond strike again.  Maybe it will work with
Mono

James McKenzie





grrrrr

2010-02-07 Thread Dan Kegel
http://www.pro-linux.de/NB3/news/1/15259/starmoney-stellt-linux-variante-ein.html
Looks like Star Money is blaming Wine for its troubles...
IIRC, they switched to .net or something without asking whether it
would work on Wine.
Grr.




Wine FIXME Report January 2010

2010-02-07 Thread Michael Stefaniuc


Wine FIXME Report January 2010
==
The data for this report comprise the emails from January 2010 archives
of the mailing lists wine-{bugs,devel,users} as well as the bugzilla
attachments referenced by the wine-bugs emails. Although WARN messages
were collected too they aren't handled in this report.

File parsed: 6364 (emails: 5850, bugzilla attachments: 514)
Files with FIXME/ERR/WARN: 436
  Type  |  Total  | Unique
  --+-+---
  fixme | 1354429 |  8122
  err   |   24115 |   993
  warn  |3491 |   404


The Most Popular Messages
-
This are the most prevalent ERR and FIXME messages aka the number of
files where they show up.

FIXME:
  Files | Lines | Channel:Function Text
  --+---+--
 59 |   119 | d3d:WineD3D_ChoosePixelFormat Add OpenGL context 
recreation support to SetDepthStencilSurface

 42 |45 | system:SetProcessDPIAware stub!
 36 |46 | iphlpapi:GetAdaptersAddresses no support for IPv6 
addresses
 33 |61 | mixer:ALSA_MixerInit No master control found on HDA 
ATI HDMI, disabling mixer

 29 |57 | urlmon:URLMoniker_BindToObject use running object table
 22 |41 | shdocvw:BindStatusCallback_OnProgress status code 11
 19 |21 | system:SystemParametersInfoW Unimplemented action: 59 
(SPI_SETSTICKYKEYS)

 18 |21 | resource:GetGuiResources (0x,0): stub
 18 |37 | shdocvw:PropertyNotifySink_OnChanged unimplemented 
dispid 1005
 17 |71 | storage:StgCreateDocfile Storage share mode not 
implemented.


ERR:
  Files | Lines | Channel:Function Text
  --+---+--
 22 |41 | alsa:ALSA_CheckSetVolume Could not find 'PCM Playback 
Volume' element
 18 |25 | ole:CoGetClassObject class 
{9a5ea990-3034-4d6f-9128-01f3c61022bc} not registered
 18 |26 | ole:CoGetClassObject no class object 
{9a5ea990-3034-4d6f-9128-01f3c61022bc} could be created for context 0x1
 15 |  1646 | ddraw:PixelFormat_WineD3DtoDD Can't translate this 
Pixelformat 58
 14 |  1645 | ddraw:PixelFormat_WineD3DtoDD Can't translate this 
Pixelformat 64
 12 |44 | ole:CoGetClassObject class 
{6c736db1-bd94-11d0-8a23-00aa00b58e10} not registered
 12 |44 | ole:CoGetClassObject no class object 
{6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1
 12 |   114 | ole:apartment_getclassobject DllGetClassObject 
returned error 0x80040111

 10 |18 | rpc:I_RpcGetBuffer no binding
  9 |12 | ole:CoGetClassObject class 
{77f10cf0-3db5-4966-b520-b7c54fd35ed6} not registered



Noisy Popular Messages
--
The noisiest messages that show up at least in 1% of the collected reports.

FIXME:
  Lines | Files | Channel:Function Text
  --+---+--
223 | 7 | mshtml:nsChannel_GetSecurityInfo default action not 
implemented

155 |11 | ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported
144 |12 | wininet:InternetLockRequestFile STUB
119 |59 | d3d:WineD3D_ChoosePixelFormat Add OpenGL context 
recreation support to SetDepthStencilSurface

110 | 9 | advapi:LsaClose (0xcafe) stub
 99 | 8 | font:WineEngAddFontResourceEx Ignoring flags 10
 92 | 5 | wininet:GetUrlCacheEntryInfoExW Undocumented flag(s): 100
 75 | 7 | file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH 
unimplemented
 71 |17 | storage:StgCreateDocfile Storage share mode not 
implemented.
 61 |33 | mixer:ALSA_MixerInit No master control found on HDA 
ATI HDMI, disabling mixer


ERR:
  Lines | Files | Channel:Function Text
  --+---+--
   1646 |15 | ddraw:PixelFormat_WineD3DtoDD Can't translate this 
Pixelformat 58
   1645 |14 | ddraw:PixelFormat_WineD3DtoDD Can't translate this 
Pixelformat 64
114 |12 | ole:apartment_getclassobject DllGetClassObject 
returned error 0x80040111
113 | 6 | ole:ClientIdentity_QueryMultipleInterfaces 
IRemUnknown_RemQueryInterface failed with error 0x80004002
 66 | 7 | ole:ITypeInfo_fnInvoke did not find member id -504, 
flags 0x2!
 66 | 7 | ole:ITypeInfo_fnInvoke did not find member id -514, 
flags 0x2!

 62 | 6 | shell:SHGetFileInfoW pidl is null!
 44 |12 | ole:CoGetClassObject class 
{6c736db1-bd94-11d0-8a23-00aa00b58e10} not registered
 44 |12 | ole:CoGetClassObject no class object 
{6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1
 41 |22 | alsa:ALSA_CheckSetVolume Could not find 'PCM Playback 
Volume' element



Noisy Popular Functions
---
The noisiest functions that show up at least in 1% of the collected reports.

FIXME:
  Lines | Files | Channel:Function
  --+---+-
 434041 |   716 | ole:NdrCorrelationInitialize
 434009 |   716 | ole:NdrCorrelationFree
   7620 | 6 | d3d:context_check_fbo_status
   2716 |   100 | d3d_

Re: idea: display drivers

2010-02-07 Thread David Gerard
On 7 February 2010 20:23, Gert van den Berg  wrote:
> On Sun, Feb 7, 2010 at 21:40, David Gerard  wrote:

>> As I understand it, current Xorg does OpenGL in software on any video
>> chipset it supports ... eeerrryyy ssslllooowwwlllyyy, but it does
>> it.

> But what about other X servers, such as Xsun, Xvnc, remote Xming sessions, 
> etc?


No idea, sorry. Xsun is on extended (life-)support with Sun moving to
Xorg (and Alan Coopersmith from Sun being one of the main Xorg
developers). Xming is Xorg compiled for mingw. Xvnc, no idea.


- d.




Re: idea: display drivers

2010-02-07 Thread Gert van den Berg
On Sun, Feb 7, 2010 at 21:40, David Gerard  wrote:
> On 7 February 2010 15:40, Reece Dunn  wrote:
>
>>  1/  Does this mean that OpenGL is required for all GDI calls, not
>> just D3D? If so, it will exclude people who don't have OpenGL support
>> (e.g. are using the vesa, nv, or nouveau drivers).
>
>
> As I understand it, current Xorg does OpenGL in software on any video
> chipset it supports ... eeerrryyy ssslllooowwwlllyyy, but it does
> it.
>
But what about other X servers, such as Xsun, Xvnc, remote Xming sessions, etc?




Re: idea: display drivers

2010-02-07 Thread David Gerard
On 7 February 2010 15:40, Reece Dunn  wrote:

>  1/  Does this mean that OpenGL is required for all GDI calls, not
> just D3D? If so, it will exclude people who don't have OpenGL support
> (e.g. are using the vesa, nv, or nouveau drivers).


As I understand it, current Xorg does OpenGL in software on any video
chipset it supports ... eeerrryyy ssslllooowwwlllyyy, but it does
it.


- d.




Re: idea: display drivers

2010-02-07 Thread James McKenzie
Roderick Colenbrander wrote:
> On Sun, Feb 7, 2010 at 6:41 PM, James McKenzie
>  wrote:
>   
>> Correct.  But why keep the old stuff around?  It might be confusing to
>> the Wine beginner.
>>
>> 
>
> The new style driver would only work on modern hardware like windows7 does.
>
>   
That makes sense.  However, how long are we going to support 'older'
hardware?  Most manufacturers give up after two years.

James McKenzie





Re: idea: display drivers

2010-02-07 Thread James McKenzie
Roderick Colenbrander wrote:
>> Emmanuel's code is available from Sourceforge.  It is a good starting
>> point for this.  If you want, send me what you have so far for testing
>> purposes.  It would be great to have a native MacOSX windowing system.
>>
>> James McKenzie
>>
>> 
>
> The design of the old quartz driver is not correct. I remember that
> Alexandre commented that a lot of code which was in it doesn't make
> sense for a quartz driver but only for X11. Before a quartz driver can
> be written we really need a dib engine. It will make writing another
> driver much easier and much more code would be shared.
>   
I agree with the fact that the quartz.dll is not functionally accurate. 
However, the conversation started (I think) on building a native driver
for MacOSX, which should not use an X11 code.  This is why I pointed out
the fact that it took YEARS (and I really mean this 2003-2009) to get a
native version of OpenOffice.org to function properly.  Your assessment
may be proper in that the X11 version of quartz.dll may need to be
completely redone to make this easier and to facilitate movement to
other windowing systems.
> Thinking a few steps further I also think that at some point the
> current X11 driver needs to be redesigned for modern windows version
> (we would get a classic winex11 and a modern one). The modern one
> would in my opinion only be responsible for creating windows, font
> rendering but the rest would all be done using OpenGL. This way the
> rendering code could also work on OSX and only window management stuff
> would be needed.
>   
Correct.  But why keep the old stuff around?  It might be confusing to
the Wine beginner.

James McKenzie





Re: idea: display drivers

2010-02-07 Thread Roderick Colenbrander
On Sun, Feb 7, 2010 at 4:40 PM, Reece Dunn  wrote:
> On 7 February 2010 15:02, Roderick Colenbrander  
> wrote:
>>> Emmanuel's code is available from Sourceforge.  It is a good starting
>>> point for this.  If you want, send me what you have so far for testing
>>> purposes.  It would be great to have a native MacOSX windowing system.
>>>
>>> James McKenzie
>>>
>>
>> The design of the old quartz driver is not correct. I remember that
>> Alexandre commented that a lot of code which was in it doesn't make
>> sense for a quartz driver but only for X11. Before a quartz driver can
>> be written we really need a dib engine. It will make writing another
>> driver much easier and much more code would be shared.
>>
>> Thinking a few steps further I also think that at some point the
>> current X11 driver needs to be redesigned for modern windows version
>> (we would get a classic winex11 and a modern one). The modern one
>> would in my opinion only be responsible for creating windows, font
>> rendering but the rest would all be done using OpenGL. This way the
>> rendering code could also work on OSX and only window management stuff
>> would be needed.
>
> In general, this seems to be the best approach. I do have a few
> questions, though:
>
>  1/  Does this mean that OpenGL is required for all GDI calls, not
> just D3D? If so, it will exclude people who don't have OpenGL support
> (e.g. are using the vesa, nv, or nouveau drivers).

I think that in the end we would need 2 drivers. One classic x11 in
the current design (adjusted a bit were possible) and one which
follows the Win7-design using OpenGL. The idea would be to let Wine
perform the majority of GDI calls in software (both the DIB stuff and
a big part of the DDB calls). Like Win7 we would accelerate common GDI
functions like AlphaBlend, BitBlt/StretchBlt (only the common ROPs
like SRCBLT and a few others) and ColorFill on the gpu using opengl.
See http://msdn.microsoft.com/en-us/library/dd434692.aspx for what
Win7 accelerates.

When using OpenGL we would emulate DIBSections using PBOs and perhaps
GLX_texture_from_bitmap is of any use as well in case of X11.

>  2/  What will the performance of GDI32 calls be like? There are
> various comments that the Vista architecture does not optimise GDI32
> calls, so applications that use these are slower.
>

Vista performed all of GDI in software but Win7 accelerates a couple
of common calls which I mentioned above using the GPU. Performance
could be quite good.

So to summarize a win7-style wine rendering architecture would perform
all DIB rendering in software ('the dib engine') and also the
non-common DDB calls. Other calls are accelerated using OpenGL. A
x11/quartz/some_other_os driver would be used for window creation,
window management, input and likely font rendering.

Roderick




Re: [4/6] wininet: Clean up locks after closing libssl and libcrypto.

2010-02-07 Thread Paul Vriens

On 02/07/2010 04:56 PM, Paul Vriens wrote:

On 02/07/2010 04:46 PM, Hans Leidekker wrote:

On Sunday 07 February 2010 16:24:11 Paul Vriens wrote:


if (OpenSSL_ssl_handle)
@@ -305,6 +297,12 @@ void NETCON_unload(void)
pSSL_CTX_free(ctx);
wine_dlclose(OpenSSL_ssl_handle, NULL, 0);
}
+ if (ssl_locks)
+ {
+ int i;
+ for (i = 0; i< pCRYPTO_num_locks(); i++)
DeleteCriticalSection(&ssl_locks[i]);
+ HeapFree(GetProcessHeap(), 0, ssl_locks);
+ }
#endif
}


Hi Hans,

I was checking a crash in an installer (the AkamaiDownloadManager to
download CS4 for example) and it looks like we are accessing a ssl
function CRYPTO_num_locks() after we've closed the library?

Can you confirm this?


Yes, looks like I fixed this in winhttp but forgot to send the same
patch for
wininet. Try this patch.

-Hans


Yup, crash is gone, thanks.



Forgot to include wine-devel.

--
Cheers,

Paul.




Re: [4/6] wininet: Clean up locks after closing libssl and libcrypto.

2010-02-07 Thread Hans Leidekker
On Sunday 07 February 2010 16:24:11 Paul Vriens wrote:

> >   if (OpenSSL_ssl_handle)
> > @@ -305,6 +297,12 @@ void NETCON_unload(void)
> >   pSSL_CTX_free(ctx);
> >   wine_dlclose(OpenSSL_ssl_handle, NULL, 0);
> >   }
> > +if (ssl_locks)
> > +{
> > +int i;
> > +for (i = 0; i<  pCRYPTO_num_locks(); i++) 
> > DeleteCriticalSection(&ssl_locks[i]);
> > +HeapFree(GetProcessHeap(), 0, ssl_locks);
> > +}
> >   #endif
> >   }
> >
> Hi Hans,
> 
> I was checking a crash in an installer (the AkamaiDownloadManager to 
> download CS4 for example) and it looks like we are accessing a ssl 
> function CRYPTO_num_locks() after we've closed the library?
> 
> Can you confirm this?

Yes, looks like I fixed this in winhttp but forgot to send the same patch for
wininet. Try this patch.

 -Hans
diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
index 0e7b62a..c2560b5 100644
--- a/dlls/wininet/netconnection.c
+++ b/dlls/wininet/netconnection.c
@@ -160,6 +160,7 @@ MAKE_FUNCPTR(sk_value);
 #undef MAKE_FUNCPTR
 
 static CRITICAL_SECTION *ssl_locks;
+static unsigned int num_ssl_locks;
 
 static unsigned long ssl_thread_id(void)
 {
@@ -458,14 +459,14 @@ DWORD NETCON_init(WININET_NETCONNECTION *connection, BOOL useSSL)
 pSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, netconn_secure_verify);
 
 pCRYPTO_set_id_callback(ssl_thread_id);
-ssl_locks = HeapAlloc(GetProcessHeap(), 0,
-pCRYPTO_num_locks() * sizeof(CRITICAL_SECTION));
+num_ssl_locks = pCRYPTO_num_locks();
+ssl_locks = HeapAlloc(GetProcessHeap(), 0, num_ssl_locks * sizeof(CRITICAL_SECTION));
 if (!ssl_locks)
 {
 LeaveCriticalSection(&init_ssl_cs);
 return ERROR_OUTOFMEMORY;
 }
-for (i = 0; i < pCRYPTO_num_locks(); i++)
+for (i = 0; i < num_ssl_locks; i++)
 InitializeCriticalSection(&ssl_locks[i]);
 pCRYPTO_set_locking_callback(ssl_lock_callback);
 LeaveCriticalSection(&init_ssl_cs);
@@ -494,7 +495,7 @@ void NETCON_unload(void)
 if (ssl_locks)
 {
 int i;
-for (i = 0; i < pCRYPTO_num_locks(); i++) DeleteCriticalSection(&ssl_locks[i]);
+for (i = 0; i < num_ssl_locks; i++) DeleteCriticalSection(&ssl_locks[i]);
 HeapFree(GetProcessHeap(), 0, ssl_locks);
 }
 #endif



Re: idea: display drivers

2010-02-07 Thread Reece Dunn
On 7 February 2010 15:02, Roderick Colenbrander  wrote:
>> Emmanuel's code is available from Sourceforge.  It is a good starting
>> point for this.  If you want, send me what you have so far for testing
>> purposes.  It would be great to have a native MacOSX windowing system.
>>
>> James McKenzie
>>
>
> The design of the old quartz driver is not correct. I remember that
> Alexandre commented that a lot of code which was in it doesn't make
> sense for a quartz driver but only for X11. Before a quartz driver can
> be written we really need a dib engine. It will make writing another
> driver much easier and much more code would be shared.
>
> Thinking a few steps further I also think that at some point the
> current X11 driver needs to be redesigned for modern windows version
> (we would get a classic winex11 and a modern one). The modern one
> would in my opinion only be responsible for creating windows, font
> rendering but the rest would all be done using OpenGL. This way the
> rendering code could also work on OSX and only window management stuff
> would be needed.

In general, this seems to be the best approach. I do have a few
questions, though:

  1/  Does this mean that OpenGL is required for all GDI calls, not
just D3D? If so, it will exclude people who don't have OpenGL support
(e.g. are using the vesa, nv, or nouveau drivers).

  2/  What will the performance of GDI32 calls be like? There are
various comments that the Vista architecture does not optimise GDI32
calls, so applications that use these are slower.

References:
 * http://www.theregister.co.uk/2007/12/04/vista_vs_xp_tests/
 * http://blogs.msdn.com/nickkramer/archive/2006/04/07/571162.aspx
(primitives now rendered in software)
 * http://blogs.msdn.com/greg_schechter/archive/2006/05/02/588934.aspx

NOTE: Windows 7 appears to have reversed part of the Vista trend by
hardware accelerating as many of the GDI calls as they could

References:
 * 
http://blogs.msdn.com/e7/archive/2009/04/25/engineering-windows-7-for-graphics-performance.aspx
 * 
http://www.pcpro.co.uk/blogs/2009/05/07/windows-7-gdi-performance-the-big-trade-off/

- Reece




Re: [4/6] wininet: Clean up locks after closing libssl and libcrypto.

2010-02-07 Thread Paul Vriens

On 10/27/2009 10:04 AM, Hans Leidekker wrote:

Found by valgrind.
---
  dlls/wininet/netconnection.c |   14 ++
  1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
index 97c764f..16cce40 100644
--- a/dlls/wininet/netconnection.c
+++ b/dlls/wininet/netconnection.c
@@ -289,14 +289,6 @@ void NETCON_unload(void)
  #if defined(SONAME_LIBSSL)&&  defined(SONAME_LIBCRYPTO)
  if (OpenSSL_crypto_handle)
  {
-if (ssl_locks)
-{
-int i;
-
-for (i = 0; i<  pCRYPTO_num_locks(); i++)
-DeleteCriticalSection(&ssl_locks[i]);
-HeapFree(GetProcessHeap(), 0, ssl_locks);
-}
  wine_dlclose(OpenSSL_crypto_handle, NULL, 0);
  }
  if (OpenSSL_ssl_handle)
@@ -305,6 +297,12 @@ void NETCON_unload(void)
  pSSL_CTX_free(ctx);
  wine_dlclose(OpenSSL_ssl_handle, NULL, 0);
  }
+if (ssl_locks)
+{
+int i;
+for (i = 0; i<  pCRYPTO_num_locks(); i++) 
DeleteCriticalSection(&ssl_locks[i]);
+HeapFree(GetProcessHeap(), 0, ssl_locks);
+}
  #endif
  }


Hi Hans,

I was checking a crash in an installer (the AkamaiDownloadManager to 
download CS4 for example) and it looks like we are accessing a ssl 
function CRYPTO_num_locks() after we've closed the library?


Can you confirm this?

--
Cheers,

Paul.




Re: idea: display drivers

2010-02-07 Thread Roderick Colenbrander
> Emmanuel's code is available from Sourceforge.  It is a good starting
> point for this.  If you want, send me what you have so far for testing
> purposes.  It would be great to have a native MacOSX windowing system.
>
> James McKenzie
>

The design of the old quartz driver is not correct. I remember that
Alexandre commented that a lot of code which was in it doesn't make
sense for a quartz driver but only for X11. Before a quartz driver can
be written we really need a dib engine. It will make writing another
driver much easier and much more code would be shared.

Thinking a few steps further I also think that at some point the
current X11 driver needs to be redesigned for modern windows version
(we would get a classic winex11 and a modern one). The modern one
would in my opinion only be responsible for creating windows, font
rendering but the rest would all be done using OpenGL. This way the
rendering code could also work on OSX and only window management stuff
would be needed.

Roderick




Re: Getting start with IXMLHTTPRequest

2010-02-07 Thread Hans Leidekker
On Sunday 07 February 2010 15:08:33 Nikolay Sivov wrote:

> Such things:
> ---
> static HRESULT WINAPI HttpProtocol_Abort(IInternetProtocol *iface, 
> HRESULT hrReason,
>  DWORD dwOptions)
> {
>  HttpProtocol *This = PROTOCOL_THIS(iface);
>  FIXME("(%p)->(%08x %08x)\n", This, hrReason, dwOptions);
>  return E_NOTIMPL;
> }
> ---
> make me think it's not ready. Also IXMLHTTPRequest methods look to 
> directly map tp Winhttp calls.

Sure there are stubs, but implementing those should not be much different
from what you've written now. The question is, does urlmon map better to
IXMLHTTPRequest than winhttp?

> For example how can I implement IXMLHTTPRequest::setRequestHeader() with 
> urlmon?

Now this might be a good reason to go with winhttp instead of urlmon.
In that case the (unimplemented) WinHttpRequest object is probably a
better fit than the C interface.

> Btw, what was a reason for using it?

I think it's just a matter of trying to avoid code duplication.

 -Hans




Re: idea: display drivers

2010-02-07 Thread James McKenzie
Stefan Dösinger wrote:
>> The problem is that there can't be any Objective-C code in Wine. At all.
>> Or C++. Or Fortran. Or Pascal. Or Ada. Or Java. Or C# or VB. Or any
>> language other than pure, procedural C.
>> 
> Alexandre has said that you can put objective C code into wine, but only if 
> this code is properly abstracted from the other parts of the quartz driver. 
> E.g. by a simple binding wrapper that does nothing but wrap Objective C to C 
> bindings. The requirement is that somebody can read and understand the Quartz 
> driver without knowing Objective C.
>
> The biggest obstacle to merging a Quartz driver is cleaning up the user32 
> driver interface. Objective C is a minor issue with a pretty straightforward 
> solution. Currently nobody knows what a proper user32 driver interface would 
> look like.
>   
It might be a good idea to look at the code used in other projects to
get a good starting point.  OpenOffice.org did an implementation of an
Aqua driver based from X11 code.  Took SEVERAL years to do.

James McKenzie





Re: idea: display drivers

2010-02-07 Thread James McKenzie
Charles Davis wrote:
> C.W. Betts wrote:
>   
>> Is is just because of the Objective-C code? Would it be safe to make C 
>> functions that would call Objective-C?  Such as:
>> cheader.h:
>> typedef struct struct1 struct1;
>> cfuncCreate(struct1 *s);
>> cfunc1();
>> cfunc2();
>> cfuncDestroy (struct1 *s);
>>
>> cfile.m:
>> @interface WHQFunc
>> {
>>
>> }
>> -(id)init;
>> -(void)dealloc;
>> @end
>> struct 
>> {
>>  WHQFunc *ObjC;
>>  int ids;
>> }struct1;
>> @implementation WHQFunc
>>
>> -(id)init
>> {
>>  return [super init];
>> }
>> -(void)dealloc
>> {
>>  [super dealloc];
>> }
>> @end
>>
>> cfunc1()
>> {
>>
>> }
>> cfunc2()
>> {
>>
>> }
>> cfuncCreate(struct1 *s)
>> {
>>  s = malloc(sizeof(struct1));
>>  [[s->ObjC alloc] init];
>> }
>> cfuncDestroy (struct1 *s)
>> {
>>  [s->ObjC release];
>>  free(s);
>> }
>>
>> 
> Working on it.
>
> The problem is that there can't be any Objective-C code in Wine. At all.
> Or C++. Or Fortran. Or Pascal. Or Ada. Or Java. Or C# or VB. Or any
> language other than pure, procedural C.
>
> I wanted to wait until it was finished, but I may as well announce it
> now. I'm working on a new tool to create pure C bindings to Objective-C
> frameworks. That way, you can use an Objective-C framework (like the
> Cocoa Foundation and AppKit frameworks) from C. There is a even a
> companion framework that lets you define your own classes and create
> instances of them--without writing a single line of Objective-C.
>
> If you'll be patient, I'll be finishing it soon, and I'll post the
> source and binaries somewhere so you can use it. My intent is precisely,
> among other things, to use this to create a Quartz driver that will work
> in 64-bit (because the Carbon UI stuff doesn't work in 64-bit).
>
>   
Chip:

Emmanuel's code is available from Sourceforge.  It is a good starting
point for this.  If you want, send me what you have so far for testing
purposes.  It would be great to have a native MacOSX windowing system. 

James McKenzie





Re: idea: display drivers

2010-02-07 Thread James McKenzie
C.W. Betts wrote:
> Is is just because of the Objective-C code? Would it be safe to make C 
> functions that would call Objective-C?  Such as:
> cheader.h:
> typedef struct struct1 struct1;
> cfuncCreate(struct1 *s);
> cfunc1();
> cfunc2();
> cfuncDestroy (struct1 *s);
>
> cfile.m:
> @interface WHQFunc
> {
>
> }
> -(id)init;
> -(void)dealloc;
> @end
> struct 
> {
>   WHQFunc *ObjC;
>   int ids;
> }struct1;
> @implementation WHQFunc
>
> -(id)init
> {
>   return [super init];
> }
> -(void)dealloc
> {
>   [super dealloc];
> }
> @end
>
> cfunc1()
> {
>
> }
> cfunc2()
> {
>
> }
> cfuncCreate(struct1 *s)
> {
>   s = malloc(sizeof(struct1));
>   [[s->ObjC alloc] init];
> }
> cfuncDestroy (struct1 *s)
> {
>   [s->ObjC release];
>   free(s);
> }
>   
No .m filesThere can be no code that cannot compile or be ignored on
other *NIX platforms.

James McKenzie





Re: idea: display drivers

2010-02-07 Thread Stefan Dösinger
> The problem is that there can't be any Objective-C code in Wine. At all.
> Or C++. Or Fortran. Or Pascal. Or Ada. Or Java. Or C# or VB. Or any
> language other than pure, procedural C.
Alexandre has said that you can put objective C code into wine, but only if 
this code is properly abstracted from the other parts of the quartz driver. 
E.g. by a simple binding wrapper that does nothing but wrap Objective C to C 
bindings. The requirement is that somebody can read and understand the Quartz 
driver without knowing Objective C.

The biggest obstacle to merging a Quartz driver is cleaning up the user32 
driver interface. Objective C is a minor issue with a pretty straightforward 
solution. Currently nobody knows what a proper user32 driver interface would 
look like.





Re: [PATCH 2/5] qedit: Add pins, IMemInputPin implementation and grabbing to SampleGrabber (try 4)

2010-02-07 Thread Nikolay Sivov

On 2/5/2010 17:54, Paul Chitescu wrote:

Changelog:
qedit: Add pins, IMemInputPin implementation and grabbing to 
SampleGrabber

This time I checked it applies. Sorry.
   

---
+/* Sample Grabber pin implementation */

+typedef struct _SG_Pin {
+IPin pin;

This should be const IPinVtbl.

+PIN_DIRECTION dir;
+WCHAR const *name;
+struct _SG_Impl *sg;
+IPin *pair;

If it's a list why not SG_Pin* here?

+} SG_Pin;

---
Also I don't see why such helpers are needed:
---
static ULONG SampleGrabber_addref(SG_Impl *This)
---
Why not use common I_AddRef() on grabber anywhere you need it?





Re: Getting start with IXMLHTTPRequest

2010-02-07 Thread Nikolay Sivov

On 2/7/2010 16:45, Hans Leidekker wrote:

On Sunday 07 February 2010 14:28:37 Nikolay Sivov wrote:

   

Recently I tried to start with this interface. It looks trivial enough
but since it's first time i'm using winhttp,
there could be some problems, especially cause IXMLHTTPRequest supports
asynchronous requests.

Could someone with winhttp knowledge review this patch before it goes to
far from reality?

P.S. any comments are welcome actually.
 

Last time this came up Jacek suggested to use urlmon instead of winhttp,
which may already handle asynchronous requests.

  -Hans
   

Such things:
---
static HRESULT WINAPI HttpInfo_QueryInfo(IWinInetHttpInfo *iface, DWORD 
dwOption,
void *pBuffer, DWORD *pcbBuffer, DWORD *pdwFlags, DWORD 
*pdwReserved)

{
HttpProtocol *This = INETINFO_THIS(iface);
FIXME("(%p)->(%x %p %p %p %p)\n", This, dwOption, pBuffer, 
pcbBuffer, pdwFlags, pdwReserved);

return E_NOTIMPL;
}
---
static HRESULT WINAPI HttpProtocol_Abort(IInternetProtocol *iface, 
HRESULT hrReason,

DWORD dwOptions)
{
HttpProtocol *This = PROTOCOL_THIS(iface);
FIXME("(%p)->(%08x %08x)\n", This, hrReason, dwOptions);
return E_NOTIMPL;
}
---
make me think it's not ready. Also IXMLHTTPRequest methods look to 
directly map tp Winhttp calls.
For example how can I implement IXMLHTTPRequest::setRequestHeader() with 
urlmon?


Btw, what was a reason for using it?




re: Forward SHLocalAlloc to kernel32 LocalAlloc

2010-02-07 Thread Dan Kegel
What app needs this?
It's been discussed before a bit; Win 98 explorer used it,
http://www.winehq.org/pipermail/wine-devel/2005-August/039487.html
but
http://www.geoffchappell.com/viewer.htm?doc=studies/windows/shell/shell32/api/index.htm
says that ordinal 200 was later taken over by SHCreateDesktop.

Unless we have a real good reason, we probably want to go with the
later scheme.
- Dan




Re: Getting start with IXMLHTTPRequest

2010-02-07 Thread Hans Leidekker
On Sunday 07 February 2010 14:28:37 Nikolay Sivov wrote:

> Recently I tried to start with this interface. It looks trivial enough 
> but since it's first time i'm using winhttp,
> there could be some problems, especially cause IXMLHTTPRequest supports 
> asynchronous requests.
> 
> Could someone with winhttp knowledge review this patch before it goes to 
> far from reality?
> 
> P.S. any comments are welcome actually.

Last time this came up Jacek suggested to use urlmon instead of winhttp,
which may already handle asynchronous requests.

 -Hans




Re: Participate to GSoC

2010-02-07 Thread Reece Dunn
On 7 February 2010 10:35, Warren Dumortier  wrote:
> Hello everybody!

Hello, and welcome to the Wine project.

> First i'll present myself.
> So my name's Warren Dumortier and i live in Belgium, i've been using
> Wine for 4 years and i've always been interrested on how it works
> Also i'm quite active on AppDB for submitting apps. I actively program
> in C on Linux since 3 years as Gfire (our program) developer.
>
> As i actively program in C and would like to develop for WINE, i had a
> look at the GSoC wiki page.
> This year i could finally participate as i'm legally allowed now.
>
> Are there any specific things to know in order to be accepted as a
> GSoC student for WINE?

The requirements for participation are listed on the Wine wiki page
(http://wiki.winehq.org/SummerOfCode).

> These are the two ideas i'd like to implement:
>
> Theming - Implement Wine GTK/QT theming support

http://wiki.winehq.org/XPThemes is a good starting point (I am
updating this to link to the ColorSchemes page (which I am updating),
and the other page about theme integration).

> Vista Game Explorer API - Implement the core functionality of this dll

That is covered in http://bugs.winehq.org/show_bug.cgi?id=21261, as
noted on the wiki page.

> I don't know which one i would choose yet, but how are ideas assigned
> to students, are there requirements needed for each idea?

Students send emails like you have done saying what they are
interested in. Also, participate in the #winehackers IRC channel --
that is where a lot of discussion about Wine development takes place.

As for requirements for each idea, it depends on the idea. It would
also help to have experience in the different areas.

For the theming work, it would help to have an understanding of GDI
programming, the uxtheme (XP theming support) API and writing custom
controls on the Wine/Windows API side for any improvement work to the
theming logic. The main part here though, is how GTK (and Qt) theming
works and how that can be captured to create an XP theme from it.

It might be easier to start with the colour scheme
(http://wiki.winehq.org/ColorScheme) integration, picking that up from
the GTK/Qt theme (probably limiting to GTK initially, as this is a C
API and limits what you need to understand) first and use that as your
goal for the GSoC project, as doing a full-blown XP-based theme is a
lot of work, and you end up hitting a lot of Wine bugs in that area.

Once you have this in place, you can then consider extending it to Qt,
or building it up to be an XP theme (tackling it a control at a time,
with the first control adding the necessary infrastructure on top of
the colour scheme work, will be best I think, although I am not sure
how the theming logic responds to a partial theme -- that is, a theme
that just specifies how buttons look).

NOTE: I am

> Then i could for example get familiar with the idea before the GSoC starts...
> When can i ask to be GSoC student?

According to the top of the Wine wiki page, you need to apply at
http://code.google.com/soc/.

> Thanks in advance, kind regards.

- Reece




Getting start with IXMLHTTPRequest

2010-02-07 Thread Nikolay Sivov

Hi.

Recently I tried to start with this interface. It looks trivial enough 
but since it's first time i'm using winhttp,
there could be some problems, especially cause IXMLHTTPRequest supports 
asynchronous requests.


Could someone with winhttp knowledge review this patch before it goes to 
far from reality?


P.S. any comments are welcome actually.
>From 04174c73f76309be5499ed3d5da3f98849adb842 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov 
Date: Sun, 7 Feb 2010 04:25:32 +0300
Subject: Initial implementation of IXMLHTTPRequest

---
 dlls/msxml3/Makefile.in|2 +-
 dlls/msxml3/httprequest.c  |  219 
 dlls/msxml3/tests/domdoc.c |   62 -
 3 files changed, 261 insertions(+), 22 deletions(-)

diff --git a/dlls/msxml3/Makefile.in b/dlls/msxml3/Makefile.in
index 8997f1b..f0e2739 100644
--- a/dlls/msxml3/Makefile.in
+++ b/dlls/msxml3/Makefile.in
@@ -4,7 +4,7 @@ TOPOBJDIR = ../..
 SRCDIR= @srcdir@
 VPATH = @srcdir@
 MODULE= msxml3.dll
-IMPORTS   = uuid urlmon shlwapi oleaut32 ole32 user32 advapi32 kernel32
+IMPORTS   = uuid urlmon shlwapi oleaut32 ole32 user32 advapi32 kernel32 winhttp
 EXTRALIBS = @XML2LIBS@
 EXTRAINCL = @XML2INCL@ @XSLTINCL@
 
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index a477753..a9cfdca 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -25,6 +25,8 @@
 #include "windef.h"
 #include "winbase.h"
 #include "winuser.h"
+#include "winhttp.h"
+
 #include "ole2.h"
 #include "msxml2.h"
 
@@ -40,6 +42,13 @@ typedef struct _httprequest
 {
 const struct IXMLHTTPRequestVtbl *lpVtbl;
 LONG ref;
+
+HINTERNET session;
+HINTERNET connection;
+HINTERNET request;
+
+DWORD status; /* HTTP status code */
+DWORD content_length;
 } httprequest;
 
 static inline httprequest *impl_from_IXMLHTTPRequest( IXMLHTTPRequest *iface )
@@ -47,6 +56,54 @@ static inline httprequest *impl_from_IXMLHTTPRequest( 
IXMLHTTPRequest *iface )
 return (httprequest *)((char*)iface - FIELD_OFFSET(httprequest, lpVtbl));
 }
 
+static inline void httprequest_cleanup( httprequest *This )
+{
+if ( This->request )WinHttpCloseHandle( This->request );
+if ( This->connection ) WinHttpCloseHandle( This->connection );
+if ( This->session )WinHttpCloseHandle( This->session );
+This->request = This->connection = This->session = NULL;
+This->status = 0;
+This->content_length = 0;
+}
+
+static void CALLBACK httprequest_callback(HINTERNET handle,
+  DWORD_PTR context,
+  DWORD status,
+  LPVOIDstatus_info,
+  DWORD info_len)
+{
+TRACE("status=0x%08x\n", status);
+
+switch (status)
+{
+case WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE:
+case WINHTTP_CALLBACK_STATUS_REQUEST_SENT:
+WinHttpReceiveResponse(handle, NULL);
+break;
+
+case WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED:
+{
+httprequest *This = (httprequest*)context;
+static DWORD size = sizeof(DWORD);
+
+/* update HTTP status code */
+WinHttpQueryHeaders(handle,
+WINHTTP_QUERY_STATUS_CODE | 
WINHTTP_QUERY_FLAG_NUMBER,
+WINHTTP_HEADER_NAME_BY_INDEX,
+&This->status,
+&size,
+WINHTTP_NO_HEADER_INDEX);
+/* update content length */
+WinHttpQueryHeaders(handle,
+WINHTTP_QUERY_CONTENT_LENGTH | 
WINHTTP_QUERY_FLAG_NUMBER,
+WINHTTP_HEADER_NAME_BY_INDEX,
+&This->content_length,
+&size,
+WINHTTP_NO_HEADER_INDEX);
+   }
+}
+}
+
 static HRESULT WINAPI httprequest_QueryInterface(IXMLHTTPRequest *iface, 
REFIID riid, void **ppvObject)
 {
 httprequest *This = impl_from_IXMLHTTPRequest( iface );
@@ -83,6 +140,7 @@ static ULONG WINAPI httprequest_Release(IXMLHTTPRequest 
*iface)
 ref = InterlockedDecrement( &This->ref );
 if ( ref == 0 )
 {
+httprequest_cleanup( This );
 heap_free( This );
 }
 
@@ -158,14 +216,96 @@ static HRESULT WINAPI httprequest_Invoke(IXMLHTTPRequest 
*iface, DISPID dispIdMe
 return hr;
 }
 
-static HRESULT WINAPI httprequest_open(IXMLHTTPRequest *iface, BSTR 
bstrMethod, BSTR bstrUrl,
-VARIANT varAsync, VARIANT bstrUser, VARIANT bstrPassword)
+static HRESULT WINAPI httprequest_open(IXMLHTTPRequest *iface, BSTR method, 
BSTR url,
+VARIANT v_async, VARIANT user, VARIANT password)
 {
 httprequest *This = impl_from_IXMLHTTPRequest( iface );
+URL_COMPONENTS uc;
+BSTR name, verb;
+VARIANT b_async;
+DWORD 

Re: winedbg: output of the bt command misses sometimes a frame

2010-02-07 Thread Hin-Tak Leung
--- On Sat, 6/2/10, Bernhard Übelacker  wrote:

> Hello,
> as I was debugging in wine I wondered if following
> behaviour is intended or
> could be considered a bug (and should be filed in
> bugtracker?).
> 
> When the debugger's current position is on the opening
> curly bracket of a
> function a "bt" command writes a different stack as if the
> current position
> is on the next instruction in this function.

I think you mis-understand how compiler and debugger works. Curly brackets 
delimit blocks of code but do not correspond to any machine instructions 
themselves, and is hence removed during compilation and execution. So debuggers 
are supposed to skip over them and behaves as if they don't exist during code 
inspection.

> What me makes wonder is the frame 0 is always correct but
> the calling
> function is not in the stack at all in the first bt:
> 
> 
> Wine-dbg>bt
> Backtrace:
> =>0 0x7ebe3622 IsWindow(hwnd=0x20060)
> [/home/bernhard/data/entwicklung/2010/wine/wine-git/dlls/user32/win.c:2503]
> in user32 (0x0033b500)
>   1 0x7e25429d create_window16+0x5c(cs=0x33b53c,
> className="QWidget", instance=0x40, unicode=1)
> [/home/bernhard/data/entwicklung/2010/wine/wine-git/dlls/user.exe16/message.c:2670]
> in user.exe16 (0x0033b520)
>   2 0x7ebe0f91 CreateWindowExW+0x7e(exStyle=1024,
> className="QWidget", windowName="pica", style=114032640,
> x=-2147483648, y=-2147483648, width=-2147483648,
> height=-2147483648, parent=(nil), menu=(nil),
> instance=0x40, data=0x0(nil))
> [/home/bernhard/data/entwicklung/2010/wine/wine-git/dlls/user32/win.c:1500]
> in user32 (0x0033b570)
>   3 0x650778f3 in qtgui4 (+0x778f3) (0x8000)
> 
> 
> Wine-dbg>next
> 2507if (!(ptr = WIN_GetPtr(
> hwnd ))) return FALSE;
> 
> 
> Wine-dbg>bt
> Backtrace:
> =>0 0x7ebe3637 IsWindow+0x15(hwnd=0x20060)
> [/home/bernhard/data/entwicklung/2010/wine/wine-git/dlls/user32/win.c:2507]
> in user32 (0x0033b2b0)
>   1 0x7ebe0bda WIN_CreateWindowEx+0x1201(cs=0x33b53c,
> className="QWidget", module=0x40, unicode=1)
> [/home/bernhard/data/entwicklung/2010/wine/wine-git/dlls/user32/win.c:1406]
> in user32 (0x0033b500)
>   2 0x7e25429d create_window16+0x5c(cs=0x33b53c,
> className="QWidget", instance=0x40, unicode=1)
> [/home/bernhard/data/entwicklung/2010/wine/wine-git/dlls/user.exe16/message.c:2670]
> in user.exe16 (0x0033b520)
>   3 0x7ebe0f91 CreateWindowExW+0x7e(exStyle=1024,
> className="QWidget", windowName="pica", style=114032640,
> x=-2147483648, y=-2147483648, width=-2147483648,
> height=-2147483648, parent=(nil), menu=(nil),
> instance=0x40, data=0x0(nil))
> [/home/bernhard/data/entwicklung/2010/wine/wine-git/dlls/user32/win.c:1500]
> in user32 (0x0033b570)
>   4 0x650778f3 in qtgui4 (+0x778f3) (0x8000)
> 
> 
> Wine-dbg>
> 
> 
> Kind regards
> Bernhard
> 
> 
> 


  




Participate to GSoC

2010-02-07 Thread Warren Dumortier
Hello everybody!

First i'll present myself.
So my name's Warren Dumortier and i live in Belgium, i've been using
Wine for 4 years and i've always been interrested on how it works
Also i'm quite active on AppDB for submitting apps. I actively program
in C on Linux since 3 years as Gfire (our program) developer.

As i actively program in C and would like to develop for WINE, i had a
look at the GSoC wiki page.
This year i could finally participate as i'm legally allowed now.

Are there any specific things to know in order to be accepted as a
GSoC student for WINE?
These are the two ideas i'd like to implement:

Theming - Implement Wine GTK/QT theming support
Vista Game Explorer API - Implement the core functionality of this dll

I don't know which one i would choose yet, but how are ideas assigned
to students, are there requirements needed for each idea?
Then i could for example get familiar with the idea before the GSoC starts...
When can i ask to be GSoC student?

Thanks in advance, kind regards.