From 20360099195593fbf900f265ad90316fcd252856 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Thu, 15 Sep 2005 07:41:17 +0000 Subject: [PATCH] STR #1007: removed one superfluous ReleaseDC. All demos are running nicely again. I did not see any rendering mistakes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4569 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- FL/win32.H | 1 + src/Fl.cxx | 17 ++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/FL/win32.H b/FL/win32.H index 23becafac..fdab206af 100644 --- a/FL/win32.H +++ b/FL/win32.H @@ -123,6 +123,7 @@ typedef HBITMAP Fl_Offscreen; #define fl_create_offscreen(w, h) CreateCompatibleBitmap(fl_gc, w, h) extern FL_EXPORT HDC fl_makeDC(HBITMAP); + #define fl_begin_offscreen(b) \ HDC _sgc=fl_gc; Window _sw=fl_window; \ fl_gc=fl_makeDC(b); int _savedc = SaveDC(fl_gc); fl_window=(HWND)b; fl_push_no_clip() diff --git a/src/Fl.cxx b/src/Fl.cxx index a41f344a5..d8201ba8b 100644 --- a/src/Fl.cxx +++ b/src/Fl.cxx @@ -862,11 +862,11 @@ void Fl_Window::hide() { // Send a message to myself so that I'll get out of the event loop... PostMessage(ip->xid, WM_APP, 0, 0); if (ip->private_dc) fl_release_dc(ip->xid, ip->private_dc); - if (ip->xid == fl_window && fl_gc) { - fl_release_dc(fl_window, fl_gc); - fl_window = (HWND)-1; - fl_gc = 0; - } + if (ip->xid == fl_window && fl_gc) { + fl_release_dc(fl_window, fl_gc); + fl_window = (HWND)-1; + fl_gc = 0; + } #elif defined(__APPLE_QD__) if ( ip->xid == fl_window ) fl_window = 0; @@ -878,7 +878,9 @@ void Fl_Window::hide() { if (ip->region) XDestroyRegion(ip->region); -#ifdef __APPLE_QD__ +#ifdef WIN32 + XDestroyWindow(fl_display, ip->xid); +#elif defined(__APPLE_QD__) if ( !parent() ) // don't destroy shared windows! { //+ RemoveTrackingHandler( dndTrackingHandler, ip->xid ); @@ -896,9 +898,6 @@ void Fl_Window::hide() { # if USE_XFT fl_destroy_xft_draw(ip->xid); # endif -#ifdef WIN32 - fl_release_dc(ip->xid, fl_gc); -#endif XDestroyWindow(fl_display, ip->xid); #endif