how to fix consistent crash if mouse is not contained?

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
stephanecharette
Newbie
Newbie
Posts: 2
Joined: Thu Dec 18, 2008 5:11 am

how to fix consistent crash if mouse is not contained?

Post by stephanecharette »

First time trying Wine. Host is Ubuntu 8.10; I installed Wine 1.0.1 from Synaptic. I'm impressed!

My wife has a set of "Nancy Drew" games she'd like to play. They install fine, and seem to play, but if the mouse ever goes outside the Wine virtual desktop window, the game crashes and the following Windows-style dialog box is displayed:

Code: Select all

FastBltNoTrans() - err ret = 88760096, pDescription = Dirty Rect Fast Blt, rSrcRect: t=158, b=198, l=-5, r=25, dwDestX=-5, dwDestY=158 - DDERR_INVALIDRECT - Rectangle provided was invalid.
If I disable the "Emulate a virtual desktop" option, then I get

Code: Select all

"InitDirectDraw() We're sorry - your system cannot play the correct display mode for this game.  Game shutting down."
(I'm guessing it doesn't like my native multi-monitor resolution.)

So I guess my questions would be:

1) can the mouse be configured somehow to stay within the Wine desktop?
2) or, can the Wine desktop be made to run full-screen instead of a "virtual desktop" in a native X window?
3) or, does anyone know if there is a fix for this?

I searched in the AppDB, but the only Nancy Drew games listed (I think there were 3) are games she happens not to own.

TIA,

Stéphane Charette
jen.r.magas
Level 1
Level 1
Posts: 6
Joined: Tue Jul 29, 2008 8:39 am

Post by jen.r.magas »

If you go to Wine configuration, you will find a checkbox in the graphics section that reads "Allow DirectX apps to stop the mouse leaving their window" - have you tried enabling this? That would be the first place to start.
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Post by vitamin »

jen.r.magas wrote:If you go to Wine configuration, you will find a checkbox in the graphics section that reads "Allow DirectX apps to stop the mouse leaving their window" - have you tried enabling this? That would be the first place to start.
That option doesn't work and was broken for at least 5 years.

OP, file bug in bugzilla.
M.Kiesel

how to fix consistent crash if mouse is not contained?

Post by M.Kiesel »

On Thu, 18 Dec 2008, vitamin wrote:
"Allow DirectX apps to stop the mouse leaving their window"
That option doesn't work and was broken for at least 5 years.
Is this the case really? What about disabling that option then? I had a
look at the winecfg code but I'm not sure how to do this - this should
probably do someone using a resource file (.rc) editor.

Also updating the docs would be good; the option is still mentioned on
http://winehq.org/docs/wineusr-guide/co ... ain#AEN281 .

I guess Drives/Advanced/Manually Assign Label should also be at least
temporarily disabled; AFAIK this doesn't work either.

BTW what does "Driver Emulation" in the audio tab mean? There's already
the "Emulation" choice in the "Hardware Acceleration" drop-down box, so
what is the extra "Driver Emulation" checkbox about?

Regards
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: how to fix consistent crash if mouse is not contained?

Post by vitamin »

M.Kiesel wrote:On Thu, 18 Dec 2008, vitamin wrote:
"Allow DirectX apps to stop the mouse leaving their window"
That option doesn't work and was broken for at least 5 years.
Is this the case really? What about disabling that option then? I had a
look at the winecfg code but I'm not sure how to do this - this should
probably do someone using a resource file (.rc) editor.
It doesn't mean it shouldn't be fixed... It's still useful.
M.Kiesel wrote:BTW what does "Driver Emulation" in the audio tab mean? There's already
the "Emulation" choice in the "Hardware Acceleration" drop-down box, so
what is the extra "Driver Emulation" checkbox about?
Nothing really, except it sets a flag in dsound initialization. Some programs might look at the flag and do something different.
M.Kiesel

how to fix consistent crash if mouse is not contained?

Post by M.Kiesel »

On Mon, 22 Dec 2008, vitamin wrote:
That option doesn't work and was broken for at least 5 years.
Is this the case really? What about disabling that option then?
It doesn't mean it shouldn't be fixed... It's still useful.
Well, the way it is now is frustrating for the user as he will try playing
with that option with no success but only time wasted. It should be
disabled until it really does something.
BTW what does "Driver Emulation" in the audio tab mean? There's already
the "Emulation" choice in the "Hardware Acceleration" drop-down box, so
what is the extra "Driver Emulation" checkbox about?
Nothing really, except it sets a flag in dsound initialization. Some
programs might look at the flag and do something different.
Thanks.

I had a look at the source - seems that the "Standard" and "Basic"
settings in the "Hardware Acceleration" dropdown box do not make a
difference in Wine either (= are treated the same as "Full")? Is this
another relic?

I have to say I find this quite weird. It's not like winecfg provides that
many options, and several of them are broken or misleading...? As winecfg
is more or less the only Wine end-user frontend, this is not so good.

Regards
stephanecharette
Newbie
Newbie
Posts: 2
Joined: Thu Dec 18, 2008 5:11 am

Re: how to fix consistent crash if mouse is not contained?

Post by stephanecharette »

M.Kiesel wrote:Well, the way it is now is frustrating for the user as he will try playing with that option with no success but only time wasted. It should be disabled until it really does something.
As a first-time user of Wine, I must say that yes, it was a bit frustrating. If it has been broken for years, why not either disable it or hide the control in the Wine configuration tool?

Stéphane
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: how to fix consistent crash if mouse is not contained?

Post by vitamin »

M.Kiesel wrote:Well, the way it is now is frustrating for the user as he will try playing
with that option with no success but only time wasted. It should be
disabled until it really does something.
The goal is to frustrate enough users so they can pay some one to fix it. Or find a user with enough skill to fix it himself/herself. :D
M.Kiesel

how to fix consistent crash if mouse is not contained?

Post by M.Kiesel »

On Mon, 22 Dec 2008, vitamin wrote:
Well, the way it is now is frustrating for the user as he will try playing
with that option with no success but only time wasted. It should be
disabled until it really does something.
The goal is to frustrate enough users so they can pay some one to fix
it. Or find a user with enough skill to fix it himself/herself. :D
In the code (x11ddraw.c), I found
if (dxgrab) GrabPointer(TRUE);
...with GrabPointer definitely doing something.

What exactly were you referring to when saying that option's broken? If
it's not "that setting doesn't change anything" but "mouse handling in
Wine is in general partially broken" (as in
http://bugs.winehq.org/show_bug.cgi?id=6971 ) this is a completely
different matter probably.

Regards
vitamin
Moderator
Moderator
Posts: 6605
Joined: Sat Feb 23, 2008 2:29 pm

Re: how to fix consistent crash if mouse is not contained?

Post by vitamin »

M.Kiesel wrote:In the code (x11ddraw.c), I found
if (dxgrab) GrabPointer(TRUE);
...with GrabPointer definitely doing something.

What exactly were you referring to when saying that option's broken?
That piece of code does work. But nothing calls it anymore. Ddraw is implemented on top of d3d.
Locked