summaryrefslogtreecommitdiff
path: root/src/Fl_Paged_Device.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2011-04-18 20:47:32 +0000
committerManolo Gouy <Manolo>2011-04-18 20:47:32 +0000
commit1ad8cf320da6f8ce917c4f0f962dc9c9fef019da (patch)
tree58a977ff37fa9a6848abc3251c4c52ca6c56c7f5 /src/Fl_Paged_Device.cxx
parent451b91ea4635f03cf6a07a999903215af1b6b683 (diff)
Fixed a problem in the WIN32 version of Fl_Paged_Device::print_window_part() and
Fl_Paged_Device::print_window() where the window didn't redraw well in some cases after printing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8606 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Paged_Device.cxx')
-rw-r--r--src/Fl_Paged_Device.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Fl_Paged_Device.cxx b/src/Fl_Paged_Device.cxx
index 75c0e9dc1..ae7f7d832 100644
--- a/src/Fl_Paged_Device.cxx
+++ b/src/Fl_Paged_Device.cxx
@@ -138,10 +138,14 @@ void Fl_Paged_Device::print_window_part(Fl_Window *win, int x, int y, int w, int
win->make_current();
uchar *image_data;
image_data = fl_read_image(NULL, x, y, w, h);
- save_front->show();
+ if (save_front != win) save_front->show();
current->set_current();
fl_draw_image(image_data, delta_x, delta_y, w, h, 3);
delete[] image_data;
+#ifdef WIN32
+ fl_gc = GetDC(fl_xid(win));
+ ReleaseDC(fl_xid(win), fl_gc);
+#endif
}
/**