Hi,
Lukas Schüller wrote:
- If you want to visit the website or similiar things in the "Help menu", your
(or at least my) mouse is still stuck in the top-left corner as Enigma is still running.
I don't know if I'm the only one experiencing this problem; if it helps you, my OS is
Windows XP.
I guess you have been running Enigma in fullscreen mode. For me it is
even working in fullscreen mode on XP. But I am testing on a multiscreen
environment ... The Enigma window gets minimized and the browser ends up
being the active application. Just on the reactivation of the minimized
Enigma I have to click twice the first time.
Please verify that in windowed mode the buttons work without problems. I
will check if it possible to switch Enigma temporarily into windowed
mode in case the buttons are selected while Enigma runs in fullscreen mode.
First, you're right, it works without a problem when in windowed mode.
Second, I just noticed that my description is not completely clear. Enigma gets minimized and the
browser becomes the active application for me, too; the "still running" was only
referring to the application in the background. However, my mouse is still stuck in the top-left
corner, which is pretty annoying, since I can't even open up Enigma via mouse again. Would it be
possible to simply "release" the mouse while Enigma is inactive?
(By the way, the same thing happens to me when I'm alt-tabbing, but I don't
think that's too much of a problem)
I tried to investigate the problem. Unfortunately none of the Windows
systems that I checked today, even those with just one screen, did show
the annoying behaviour.
SDL supports two video drivers for Windows. The standard GDI based
"windib", and the "directx" based alternative one. You can enforce all
SDL apps to use the alternative one if you set the environment variable
"SDL_VIDEODRIVER" two the above driver strings. Please check the directx
driver, too. I do not expect another behaviour, as the grabbing should
be independent of the driver. BTW the directx driver showed unreliable
results in deminiturizing the app. Do not forget to delete the
environment variable after testing.
A SDL source code review showed that it is impossible for an application
like Enigma to release the mouse itself while being in fullscreen mode.
Sam did post reasons, mainly multiscreen support, for this feature. So
the problem can just be fixed in SDL.
The responsible SDL code is basically o.k. concerning MSDN
documentation. I detected just one tiny glitch at the most critical
part. Just on the grab release the error code returned by Windows is not
checked and no error handling is available. It looks like your graphic
driver does not support the most basic grab feature in this special
situation and returns an error code not caught by SDL.
I patched SDL by a simple 3 lines modification, that should anyway be
more usefull than the current code. My first test looks fine, everything
seems to run perfectly and even the cursor does no longer jump to the
left upper corner. I'll send you the patched SDL.dll for test purposes
in a sepearted mail. If anyone else noticed the same problem and is
willing to test the patched SDL.dll please drop me a personal note.
Greets,
Ronald
_______________________________________________
Enigma-devel mailing list
Enigma-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/enigma-devel