Re: Fwd: RFC: OpenGL x11drv rewrite (WoW fix)

2006-08-22 Thread Roderick Colenbrander
 The biggest issue I had when porting was the OpenGL extensions.  All
 extensions
 had to be called through the wgl thunks to get the calling conventions
 right,
 but that isn't hard, just a little extra initial work.
 
 - Aric
 
 

I have done the same a while ago. The calling convention first was a pain (it 
led to strange crashes) but in the end it worked fine by adjusting GLAPIENTRY :)

Roderick
-- 


Echte DSL-Flatrate dauerhaft für 0,- Euro*. Nur noch kurze Zeit!
Feel free mit GMX DSL: http://www.gmx.net/de/go/dsl




wine and other xservers

2006-08-22 Thread Vijay Kiran Kamuju

Hi,

How does wine work/perform with other opensource X servers, like nano Xserver.

Thanks,
VJ




Re: Fwd: RFC: OpenGL x11drv rewrite (WoW fix)

2006-08-22 Thread Stefan Dösinger
Hi,
 Problem with WineD3D on top of WGL is that we lost many of usefull APIs
 I think WineD3D on top of x11drv (as WGL on top of x11drv) should a the
 better way
WineD3D on top of WGL has the advantage that we can use our D3D libraries in 
windows too. This can be useful for testing(no other libs interfering), and 
it might come handy to use gl for D3D games in windows too, like d3d10 on xp 
once we have d3d10 support :-) . I personally prefer the way to support glX, 
wgl and agl in wined3d directly, without using wine's wgl or x11drv.





pgpVu0WS7zHjM.pgp
Description: PGP signature



Re: Read to 0x7ffe02c0

2006-08-22 Thread Juan Lang
--- Vitaliy Margolen [EMAIL PROTECTED] wrote:
 0x7ffe is KSHARED_USER_DATA and 0x2c0 is (not even sure how to get
 what is at this offset). You can see it's declaration in
 include/ddk/wdm.h

Thanks Vitaliy.  So this is supposed to be a boolean for some processor
feature?  I guess it doesn't matter what it contains, the problem is the
address isn't mapped.  Any idea what to do about that?  I notice your
patch[1] wasn't applied, but it doesn't apply cleanly anymore.

[1] http://www.winehq.org/pipermail/wine-patches/2005-December/022780.html

--Juan

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




Re: Read to 0x7ffe02c0

2006-08-22 Thread Robert Shearman

Juan Lang wrote:


Hi folks, I'm trying to debug an access (by native userenv.dll in my case,
but also by MS Money 2006) to address 0x7ffe02c0.



It might be easier to implement the necessary functions in userenv, 
depending on which ones it uses.


--
Rob Shearman





Re: Read to 0x7ffe02c0

2006-08-22 Thread Juan Lang
--- Robert Shearman [EMAIL PROTECTED] wrote:
 It might be easier to implement the necessary functions in userenv, 
 depending on which ones it uses.

Thanks for the suggestion.  I think not in this case; it's calling unnamed
ordinal 149.

--Jua 

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




Re: opengl pixel format regression

2006-08-22 Thread Roderick Colenbrander
 Hello 
  Your pixel format patches caused a regression in half-life 1 for me with
  the fglrx drivers.
 
 The same happend to me with opensource Intel drivers on a:
 $ lspci | grep VGA
 00:02.0 VGA compatible controller: Intel Corporation 82852/855GM
 Integrated 
 Graphics Device (rev 02)
 
  It refuses to start in opengl mode and 
  reports ChoosePixelFormat failed, and then comes up in software(ddraw)
  mode. The d3d mode still works fine. This problem also does not occur
 with
  the open source radeon driver. I tested with fglrx 8.28.8 and fglrx
  8.27.10. Other games seem to work fine(appart of a few fglrx bugs)
 
 Perfectly replicable on my system.
 
 $ X -version
 X Window System Version 7.1.1
 
  What infos do you need to debug this? This is the format table glxinfo
  reports:
 
 $ glxinfo
 
 [cut]
 
visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
  id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
 --
 0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
 0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
 0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
 0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
 0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
 0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
 0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
 0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
 0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
 0x2c 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
 0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
 0x2e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
 0x2f 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
 0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
 0x31 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
 0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
 

Both of you try to remove the following code from src/winex11.drv/opengl.c:
/* Aux buffers */
pglXGetFBConfigAttrib(gdi_display, cfgs[fmt_index], GLX_AUX_BUFFERS, 
value);
if (ppfd-cAuxBuffers  !value) {
  goto choose_exit;
}

I compared both glxinfo outputs with the output from Nvidia cards and the main 
difference is that Nvidia cards advertise aux buffers and others not. Removing 
the code will likely fix the problem.

Roderick
-- 


Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer




Re: [1/9] DDraw: Make IDirectDrawImpl thread safe

2006-08-22 Thread Alexandre Julliard
Stefan Dösinger [EMAIL PROTECTED] writes:

 @@ -245,11 +252,12 @@ void
  IDirectDrawImpl_Destroy(IDirectDrawImpl *This)
  {
  IDirectDrawImpl *prev;
 +DDOBJ_LOCK(This);

You shouldn't need locking in Destroy, if the refcount is zero no one
else can be using the object.

  for(prev = ddraw_list; prev; prev = prev-next)
 +{
  if(prev-next == This) break;
 +}
  
  if(prev)
 +{
 +DDOBJ_LOCK(prev);
  prev-next = This-next;
 +DDOBJ_UNLOCK(prev);
 +}

You can't lock just one object, you have the protect the whole list.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Fwd: RFC: OpenGL x11drv rewrite (WoW fix)

2006-08-22 Thread Tomas Carnecky
Roderick Colenbrander wrote:
 If we could set a pbuffer flag in there and retrieve it in wglMakeCurrent it 
 would work. I fear that this can only be done in a clean way if it code would 
 be in x11drv :(
  

I did that, I created a new field in the PDEVICE structure and used two
new ExtEscape codes (SET_FLAGS/GET_FLAGS), but Alexandre doesn't want to
add new ExtEscape codes..
That's why I hacked even more on wine and moved the wgl implementation
to x11drv... and there they are, my old patches. I never bothered
updating them though.

tom




Re: [TRY 2] XEmbed System Tray Support

2006-08-22 Thread Alexandre Julliard
James Liggett [EMAIL PROTECTED] writes:

 +/* fall back to he KDE hints if the WM doesn't support XEMBED'ed
 + * systrays */
 +
 +/* Put the window back within the screen so it will be mapped */
 +SetWindowPos( data-hwnd, NULL, 0, 0, 0, 0, SWP_NOZORDER | 
 SWP_NOSIZE );

It would be nicer to create the window with normal coordinates, and
only move it off-screen when needed, instead of having off-screen be
the default behavior. It would also avoid having explorer know about
internals of the systray implementation.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: Fwd: RFC: OpenGL x11drv rewrite (WoW fix)

2006-08-22 Thread Roderick Colenbrander
 I did that, I created a new field in the PDEVICE structure and used two
 new ExtEscape codes (SET_FLAGS/GET_FLAGS), but Alexandre doesn't want to
 add new ExtEscape codes..
 That's why I hacked even more on wine and moved the wgl implementation
 to x11drv... and there they are, my old patches. I never bothered
 updating them though.
 
 tom

We don't need very big changes. Basicly all code can be moved to x11drv. Then 
basicly we want access to our wglGetProcAddress function to get access to our 
wgl functions. We can dynamicly load those from opengl32 that way. All wgl 
functions in opengl32 can be stubs.I think this is the right way to do it. It 
works a bit more like a real ICD this way aswell. I believe that in case of a 
real ICD some ExtEscape-like call is used to retrieve a table with all exported 
opengl functions from an icd driver. It then does something similar to a 
GetProcAdress. The difference would be that we don't transfer the whole table 
but only a function to retrieve function calls.

Roderick
-- 


Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer




Re: Read to 0x7ffe02c0

2006-08-22 Thread Robert Reif

Vitaliy Margolen wrote:


Tuesday, August 22, 2006, 1:56:20 AM, Juan Lang wrote:
 


--- Vitaliy Margolen [EMAIL PROTECTED] wrote:
   


0x7ffe is KSHARED_USER_DATA and 0x2c0 is (not even sure how to get
what is at this offset). You can see it's declaration in
include/ddk/wdm.h
 



 


Thanks Vitaliy.  So this is supposed to be a boolean for some processor
feature?  I guess it doesn't matter what it contains, the problem is the
address isn't mapped.  Any idea what to do about that?  I notice your
patch[1] wasn't applied, but it doesn't apply cleanly anymore.
   



Because Wine already reserves it but doesn't allocates it. All you need to
do is to change this: http://source.winehq.org/source/dlls/ntdll/thread.c#L218
to look like:

NtAllocateVirtualMemory( NtCurrentProcess(), addr, 0, size, MEM_RESERVE
| MEM_COMMIT, PAGE_READONLY );


Vitaliy.





 

This issue came up a week ago: 
http://www.winehq.org/pipermail/wine-devel/2006-August/050182.html






Re: developers-hints 2 -- second try

2006-08-22 Thread Alexandre Julliard
Tom Wickline [EMAIL PROTECTED] writes:

 Changelog: add newly implemented dlls and update http links

I think the DEVELOPERS-HINTS contents should really be moved to the
Wiki, it would be a lot easier to keep up to date there. Does anybody
feel like doing that?

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: riched20: add EM_EXSETSEL conformance tests and fixes bug 4462

2006-08-22 Thread Matt Finnicum

Hi,
Is there something wrong with this patch / a reason it's not being accepted?

Sorry if this might have been answered this on IRC last night - X died
while I was away, so I'd have missed it.

Thanks,
--Matt Finnicum

On 8/19/06, Matt Finnicum [EMAIL PROTECTED] wrote:

Hi,
I've cleaned up / re-diffed this patch from Brian Chang. It fixes bug
4462 by handling several odd ways in which EM_EXSETSEL can be called.
It also make the message return a proper value, not just zero.

--Matt Finnicum (Please commit as Brian Chang)

The last version of this patch can be found here:
http://www.winehq.com/pipermail/wine-patches/2006-March/024976.html

---
 dlls/riched20/editor.c   |   25 +---
 dlls/riched20/tests/editor.c |   52 ++
 2 files changed, 73 insertions(+), 4 deletions(-)








Re: Read to 0x7ffe02c0

2006-08-22 Thread Juan Lang
 All you need to do is to change this:
 http://source.winehq.org/source/dlls/ntdll/thread.c#L218
 to look like:
 
 NtAllocateVirtualMemory( NtCurrentProcess(), addr, 0, size,
 MEM_RESERVE | MEM_COMMIT, PAGE_READONLY );

Ah, indeed.  Thank you, that solves it for me.
--Juan

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




Re: riched20: add EM_EXSETSEL conformance tests and fixes bug 4462

2006-08-22 Thread Alexandre Julliard
Matt Finnicum [EMAIL PROTECTED] writes:

 Hi,
 Is there something wrong with this patch / a reason it's not being accepted?

 Sorry if this might have been answered this on IRC last night - X died
 while I was away, so I'd have missed it.

When resending a patch, especially a patch by someone else, please
include the original Changelog, and the full name/email of the
original author, so that I don't have to go hunt them down. Thanks.

-- 
Alexandre Julliard
[EMAIL PROTECTED]




Re: regression with gothic1/2

2006-08-22 Thread Sebastian Schlingmann
Am Tue, 22 Aug 2006 08:56:05 +0200
schrieb Stefan Dösinger [EMAIL PROTECTED]:

 This is odd, I did a regression testing and it came up with Jason
 Greens dynamic shader constant patch as the first bad commit. While
 this sounds odd for a d3d7 game it could happen because of broken
 stateblock initialization.
 
 With a enabling the heap filler I ended ap with a crash in
 dmusic(altough music in the game is disabled), using native dmusic
 made the game working again.


You are right - with native dmusic,dmloader,dmime,dmsynth the game runs.
I also had some dmusic/dmime output with the heap error, but that
looked quite normal.

Strange though that my regression testing had a different result.
I did it just like the GitWine entry in the wiki suggests...





Re: developers-hints 2 -- second try

2006-08-22 Thread EA Durbin

I think the DEVELOPERS-HINTS contents should really be moved to the
Wiki, it would be a lot easier to keep up to date there. Does anybody
feel like doing that?

--
Alexandre Julliard
[EMAIL PROTECTED]



That would be a good place for it. It would be easier to locate. The 
developer's guide, resources, etc. on winehq should be redirect you to the 
wiki as well as its scattered about, partially on winehq and partially on 
the wiki site. It would be more helpful if this was all in one centralized 
location and you didn't have to jump back and forth between the two.


A basic tutorial on how to write a hello world windows application under 
wine, with a form and controls would be helpful as well, for the person who 
was interested in writing a soundrec32 application or other similar 
applications.







Re: regression with gothic1/2

2006-08-22 Thread Stefan Dösinger
Hi,
 You are right - with native dmusic,dmloader,dmime,dmsynth the game runs.
 I also had some dmusic/dmime output with the heap error, but that
 looked quite normal.

 Strange though that my regression testing had a different result.
 I did it just like the GitWine entry in the wiki suggests...
The error occurs only sporadic, sometimes it works with native dmusic  
friends stuff. I guess that sometimes it started successfully even though the 
bad patch was in.


pgpvLNbtVta2F.pgp
Description: PGP signature



Re: wine's fullscreen code has no effect on metacity

2006-08-22 Thread Elijah Newren

On 8/7/06, Dmitry Timoshkov [EMAIL PROTECTED] wrote:

Elijah Newren [EMAIL PROTECTED] wrote:

 Anyway, the returning from fullscreen mode bug makes perfect sense,
 and I'm pretty sure I know the cause: metacity tries to return the
 window to the size it was before it was fullscreened, and it sounds
 like it was successful in this case.  Remember that the application
 resized itself to the size of the screen, then you (wine) noticed that
 and decided to send the fullscreen toggle message.  Thus, the size the
 window had before being fullscreen, happened to be a size equal to the
 size of the screen.  Since wine has added heuristics for detecting
 when an app sets its size to the size of the screen, I think it either
 needs to add heuristics for resizing back to normal size, or to just
 have the fullscreen toggle message replace the apps' resizing commands
 instead of supplementing them.

Wine asks a WM to switch off the fullscreen state as a result of
app's request to change its window size to something less than
a screen resolution. So, the fix would be to change Metacity to
not restore window's size if it's no more the same as it was before
entering the full screen state.


Ugh.  Apparently, I busted our fullscreen handling in metacity=2.14.x
in lots of cases in addition to problems we've being talking about in
this thread.  See http://bugzilla.gnome.org/show_bug.cgi?id=343115#c6
if you're curious.  Anyway, I think I've fixed all those issues, and I
believe my fixes should cover this last issue of yours (making windows
return to the original size correctly).  Is there any chance I could
get you test (with metacity 2.15.34) and verify?  (You could also
backport the patch from bug 343115...)

Thanks for all the help!
Elijah




Re: msiexec: Add handling for msiexec's regserver option

2006-08-22 Thread James Hawkins

On 8/22/06, Vitaliy Margolen [EMAIL PROTECTED] wrote:

Tuesday, August 22, 2006, 7:56:00 PM, James Hawkins wrote:
 Hi,

 More and more installers are expecting the MSI service to exist, or at
 least be installable using msiexec /regserver.  This patch is the
 first step in fixing bug 5540.

 +if (!scm)
 +{
 +fprintf(stderr, Failed to open the service control manager.\n);
 +return 1;
 +}

Please use proper WINE_[ERR|WARN|FIXME|TRACE] macros.



If you'll look in msiexec.c, you'll see that fprintf is used
throughout the entire file for error output.  I'm just keeping the
style of the file consistent.

--
James Hawkins




Re: user: [2/2] Pass hook handle to the destination thread. Call server to get hook information

2006-08-22 Thread Vitaliy Margolen
Thursday, August 17, 2006, 8:46:12 AM, Vitaliy Margolen wrote:
 ChangeLog:
 user: Pass hook handle to the destination thread. Call server to get hook
 information for inter-thread hooks.

 Currently Wine has a major problem with LL hooks (low level hooks) when
 second hook is installed in a separate thread - the second hook callback is
 never called. And while attempting to call it Wine almost locks up in never
 ending loop. This happening because instead of calling current thread's
 hook callback Wine restarts the whole hook chain from the start.

 This patch deals with both sides of this problem.

 Fixes Bug [5803], [5712] and possibly others.

  dlls/user/hook.c |   41 +
  dlls/user/message.c  |   13 +
  dlls/user/user_private.h |7 +++
  server/hook.c|   29 +
  server/protocol.def  |   13 +
  5 files changed, 95 insertions(+), 8 deletions(-)

Why wasn't this patch accepted? Alexandre on IRC said that there are some
race conditions here. I don't see how and where. The only possible place
that I can think of is passing handle from one thread to the other thread
using internal message. But that is covered. If the hook gets removed, we
don't remove it in the server: 
http://source.winehq.org/source/server/hook.c#L291
When new hook is added, it's being placed ahead of all others, so it's not
a problem either - we can't call it anyway after hook-chain has been
started.

Am I missing something here?

Vitaliy Margolen