Patches item #1904119, was opened at 2008-02-28 18:22 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=462818&aid=1904119&group_id=51305
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: last released version Status: Open Resolution: None Priority: 5 Private: No Submitted By: Baldassarre Cesarano (bcesarano) Assigned to: Nobody/Anonymous (nobody) Summary: CTB - Avoid some bugs/warnings using timer class Initial Comment: I have 2 corrections about CTB - function "timer_fnc" file "Win32/timer.cpp": 1) For avoid crash during desctructor of a timer instance insert the line (the function timer_fnc can be called during destruction!) I use the class 'timer' to start a routine. At the end routine I (re)start the timer ... recursively. Everything is fine, but when I need to destroy the object may be a new call to timer_fnc although exitfnc no longer exists (at the moment there is no way to reset the pointer exitfnc after calling to stop().) Solution: /*new*/ if (tc->stop) if(tc->exitfnc) tc->exitfnc(NULL); if(tc->exitflag) *tc->exitflag = 1; 2) for avoid warnings insert following rows after return; return; /*new*/ wxUnusedVar( uTimerID ); // Here just to prevent compiler warnings /*new*/ wxUnusedVar( uMsg ); // Here just to prevent compiler warnings /*new*/ wxUnusedVar( dw1 ); // Here just to prevent compiler warnings /*new*/ wxUnusedVar( dw2 ); // Here just to prevent compiler warnings }; Then the new routine is: static void WINAPI timer_fnc(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) { timer_control *tc = (timer_control*)dwUser; if (tc->stop) if(tc->exitfnc) tc->exitfnc(NULL); if(tc->exitflag) *tc->exitflag = 1; tc->stop = 0; return; wxUnusedVar( uTimerID ); // Here just to prevent compiler warnings wxUnusedVar( uMsg ); // Here just to prevent compiler warnings wxUnusedVar( dw1 ); // Here just to prevent compiler warnings wxUnusedVar( dw2 ); // Here just to prevent compiler warnings }; I hope that it can be useful ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=462818&aid=1904119&group_id=51305 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ wxCode-users mailing list wxCode-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxcode-users