www.delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mailnull set sender to djgpp-workers-bounces using -f |
Sender: | salvador AT delorie DOT com |
Message-ID: | <3C3314DF.FC34DB@inti.gov.ar> |
Date: | Wed, 02 Jan 2002 11:10:39 -0300 |
From: | salvador <salvador AT inti DOT gov DOT ar> |
Organization: | INTI |
X-Mailer: | Mozilla 4.77 [en] (X11; U; Linux 2.2.19 i686) |
X-Accept-Language: | es-AR, en, es |
MIME-Version: | 1.0 |
To: | djgpp-workers AT delorie DOT com |
CC: | Charles Sandmann <sandmann AT clio DOT rice DOT edu>, |
Andris Pavenis <pavenis AT lanet DOT lv>, Robert Hvhne <robert DOT hoehne AT gmx DOT net> | |
Subject: | Re: NTVDM Error and TVision. |
References: | <10112311737 DOT AA21576 AT clio DOT rice DOT edu> <001301c1929e$5f4e9c80$0102a8c0 AT acceleron> |
Reply-To: | djgpp-workers AT delorie DOT com |
Andrew Cottrell wrote: [snip] > I traced the problem to something to do with the destroy() code. I can > reproduce the NTVDM error every time I run the example below in a window > instead of full screen mode. I tried it 10 times in a row and more times > than I can count over the last two days in trying to find the real cause.. [snip] > int main() > { > #if 0 // Change to 1 and app will always crash in window mode > TMyApp myApp; > myApp.run(); > #else It looks like some problem related to destructors. I agree with Eli about the need of a trace, the code you show (destroy) doesn't really show anything. The shutDown methode and destructors should be studied. I think the most dangerous thing you'll find in a TV application is the deinitialization of low level stuff. When you destroy the application two important (and potentially problematic) things happends: 1) The EventQueue is deinitialized, it triggers a mouse deinitialization. Did you verified that my code that detects NT works under XP? See classes/thwmouse.cc look for Windows_NT. You should also try forcing the library to avoid hooking the mouse interrupt, it proved to be dangerous under NT. Try with use_mouse_handler=0 by hand. 2) The Screen is deinitialized, it makes some BIOS calls that we found dangerous because a lot of manufacturers fails to implement correctly. You should try disabling the Screen deinitialization. Try editing classes/tscreen.cc to do nothing in the ~TScreen destructor. Also try making suspend() do nothing. SET -- Salvador Eduardo Tropea (SET). (Electronics Engineer) Visit my home page: http://welcome.to/SetSoft or http://www.geocities.com/SiliconValley/Vista/6552/ Alternative e-mail: set AT computer DOT org set AT ieee DOT org Address: Curapaligue 2124, Caseros, 3 de Febrero Buenos Aires, (1678), ARGENTINA Phone: +(5411) 4759 0013
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |