[Phission-cvs] phission/display/net/include phNetImageWindow.h,1.2,1.3
Brought to you by:
pthoren
From: Philip T. <pt...@us...> - 2005-02-25 22:10:25
|
Update of /cvsroot/phission/phission/display/net/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28236/net/include Modified Files: phNetImageWindow.h Log Message: Improved the workings of the X11 code. This is an attempt to prevent "unexpected async reply" from occuring by preventing any other thread from calling specific X functions that could collide with the phX11ImageWindow's running thread. If the thread is running, a message is posted; otherwise, the appropriate gui_* function is called that actually makes the X function calls. So far, there aren't any more "unexpected async reply" errors occuring. Updated FL/Net/SDL to use implement the new private_minsize method, whether it's an empty method or not. X11 and FL are really the only 2 with a GUI API call available for setting the minimum window size. Also profiled phX11Util (with DEBUG_PRINT/PROGRESS) macros to print the X function along with thread information because of the "unexpected async" problem. I decided to leave these in (in an unprinting form) because it took a good 8-10 minutes to do and will save me time later if I need to do it again. Known bugs: Resized FL window may set it's size back to the size of the image without the user doing so explicitly. SDL window maximizing has the chance of getting into a loop where the image doesn't change and flashes between a black image and a resized older image. Unmaximizing will stop the loop. Dragging the SDL window frame to resize doesn't cause this. Index: phNetImageWindow.h =================================================================== RCS file: /cvsroot/phission/phission/display/net/include/phNetImageWindow.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** phNetImageWindow.h 23 Feb 2005 22:05:25 -0000 1.2 --- phNetImageWindow.h 25 Feb 2005 22:10:15 -0000 1.3 *************** *** 51,54 **** --- 51,55 ---- virtual int private_resize( uint32_t w, uint32_t h ); /* unimplemented */ virtual int private_move( int32_t x, int32_t y ); /* unimplemented */ + virtual int private_minsize( uint32_t min_w, uint32_t min_h); protected: |