Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » Crash when focusing on something else then returning

This thread is locked; no one can reply to it. rss feed Print
Crash when focusing on something else then returning
jmasterx
Member #11,410
October 2009

I think this bug is due to the bug fix for the mouse in the 1289* revisions. If I focus on the game, then focus on something else like task manager then return to the game, it crashes. I noticed it only happens with OpenGL.

The debugger stops on this line:

win_disp->mouse_range_x1 = x1;
win_disp->mouse_range_y1 = y1;
win_disp->mouse_range_x2 = x2;
-> win_disp->mouse_range_y2 = y2;

Thanks

kenmasters1976
Member #8,794
July 2007

I can confirm this happens in, somewhat old, r12807. Maybe it's fixed in the most recent revisions?.

Windows XP, by the way.

jmasterx
Member #11,410
October 2009

I have latest and it is not fixed. I hope it is soon. I'm anxious for these major bugs to get fixed so I can start building games with this awesome API.

Trent Gamblin
Member #261
April 2000
avatar

I can't confirm it on XP.. using both D3D and GL I tried ex_bitmap and ex_mouse_events, started them, interacted a bit, started the task manager with ctrl-alt-delete closed it and switched back to the program, the program was still working.

If eating hotdogs is wrong, I don't wanna be right.

kenmasters1976
Member #8,794
July 2007

That's weird. It happens only with OpenGL as jmasterx said. I'm downloading the lastest revision. In the meantime, here's what I'm getting with gdb for r12807.

Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 3040.0xf08]
set_mouse_range (x1=0, y1=0, x2=800, y2=600)
    at C:/djgpp/allegro-4.9.17-r12807/src/win/wmouse.c:200
200     C:/djgpp/allegro-4.9.17-r12807/src/win/wmouse.c: No such file or directory.
        in C:/djgpp/allegro-4.9.17-r12807/src/win/wmouse.c
(gdb) bt
#0  set_mouse_range (x1=0, y1=0, x2=800, y2=600)
    at C:/djgpp/allegro-4.9.17-r12807/src/win/wmouse.c:200
#1  0x64c63bb9 in al_set_mouse_range (x1=0, y1=0, x2=800, y2=600)
    at C:/djgpp/allegro-4.9.17-r12807/src/mousenu.c:210
#2  0x64c9009c in wgl_switch_in (display=<incomplete type>)
    at C:/djgpp/allegro-4.9.17-r12807/src/win/wgl_disp.c:1423
#3  0x64c749db in window_callback (hWnd=0x19027a, message=6, wParam=1,
    lParam=0) at C:/djgpp/allegro-4.9.17-r12807/src/win/wnewwin.c:586
#4  0x77d18709 in USER32!GetDC () from C:\WINDOWS\system32\user32.dll
#5  0x0019027a in ?? ()
#6  0x00000006 in ?? ()
#7  0x00000001 in ?? ()
#8  0x00000000 in ?? ()
(gdb) quit

I'm using Windows XP and I have an integrated Intel graphics card. I'll post back once I build the latest revision to see if it happens there, too.

[OFFTOPIC:] What's the syntax for installing the libs to a custom location?. Thanks.

[EDIT:] It's still crashing on r12901. The backtrace is almost identical. It's weird that it doesn't seem to happen for everyone.

Allegro version: 4.9.17.0
Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 3216.0xd28]
set_mouse_range (x1=0, y1=0, x2=800, y2=600)
    at C:/djgpp/allegro-4.9.17-r12901/src/win/wmouse.c:200
200        win_disp->mouse_range_x1 = x1;
(gdb) bt
#0  set_mouse_range (x1=0, y1=0, x2=800, y2=600)
    at C:/djgpp/allegro-4.9.17-r12901/src/win/wmouse.c:200
#1  0x64c63b79 in al_set_mouse_range (x1=0, y1=0, x2=800, y2=600)
    at C:/djgpp/allegro-4.9.17-r12901/src/mousenu.c:210
#2  0x64c8fefc in wgl_switch_in (display=<incomplete type>)
    at C:/djgpp/allegro-4.9.17-r12901/src/win/wgl_disp.c:1427
#3  0x64c74937 in window_callback (hWnd=0x340206, message=6, wParam=1,
    lParam=0) at C:/djgpp/allegro-4.9.17-r12901/src/win/wnewwin.c:586
#4  0x77d18709 in USER32!GetDC () from C:\WINDOWS\system32\user32.dll
#5  0x00340206 in ?? ()
#6  0x00000006 in ?? ()
#7  0x00000001 in ?? ()
#8  0x00000000 in ?? ()
(gdb) quit

Also, is END_OF_MAIN() being removed?. I got an error: syntax error at end of input for END_OF_MAIN().

Peter Wang
Member #23
April 2000

I can get the crash in a Release build. Curiously it does not crash in a Debug build.

See http://www.allegro.cc/forums/thread/603082/850780#target

END_OF_MAIN() is removed, yes.

Trent Gamblin
Member #261
April 2000
avatar

Ok, can someone who experienced the error please try again with the latest svn?

If eating hotdogs is wrong, I don't wanna be right.

Peter Wang
Member #23
April 2000

It doesn't crash.

Trent Gamblin
Member #261
April 2000
avatar

Thanks. I don't think calling set_mouse_range is necessary within the drivers themselves, as the new mouse driver uses those values which you can set directly in the display...

If eating hotdogs is wrong, I don't wanna be right.

kenmasters1976
Member #8,794
July 2007

Yes, it doesn't crash with r12906.

Go to: