summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES1
-rw-r--r--src/Fl_Tabs.cxx2
-rw-r--r--src/Fl_mac.cxx3
3 files changed, 5 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 608ada8be..4b574a3de 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,7 @@ CHANGES IN FLTK 1.1.7
- Documentation fixes (STR #648, STR #692, STR #730, STR
#744, STR #745, STR #942)
+ - Fixed OS X issue with OpenGL windows inside of Tabs (STR #602)
- Fluid Code Editor would occasionally not draw the last character
in the buffer (STR #798)
- Fluid Declaration private flag fixed (STR #799)
diff --git a/src/Fl_Tabs.cxx b/src/Fl_Tabs.cxx
index 1669ed947..59c06b4d5 100644
--- a/src/Fl_Tabs.cxx
+++ b/src/Fl_Tabs.cxx
@@ -187,6 +187,8 @@ int Fl_Tabs::handle(int event) {
default:
break;
}
+ case FL_SHOW:
+ value(); // update visibilities and fall through
default:
return Fl_Group::handle(event);
diff --git a/src/Fl_mac.cxx b/src/Fl_mac.cxx
index 2ba70c91b..2645f63b6 100644
--- a/src/Fl_mac.cxx
+++ b/src/Fl_mac.cxx
@@ -1916,8 +1916,9 @@ void Fl_Window::make_current()
// \todo for performance reasons: we don't have to create this unless the child windows moved
for ( Fl_X *cx = i->xidChildren; cx; cx = cx->xidNext )
{
- Fl_Region r = NewRgn();
Fl_Window *cw = cx->w;
+ if (!cw->visible_r()) continue;
+ Fl_Region r = NewRgn();
SetRectRgn( r, cw->x() - xp, cw->y() - yp,
cw->x() + cw->w() - xp, cw->y() + cw->h() - yp );
DiffRgn( fl_window_region, r, fl_window_region );