From 24f79525e9073fcd3148e73f689ba8462c7ec83b Mon Sep 17 00:00:00 2001 From: Jonathan Lambrechts <jonathan.lambrechts@uclouvain.be> Date: Wed, 29 May 2013 18:52:59 +0000 Subject: [PATCH] fix fullscreen on my laptop (linux, window manager gnome shell) --- Fltk/FlGui.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Fltk/FlGui.cpp b/Fltk/FlGui.cpp index aa3d391812..10c4850dd9 100644 --- a/Fltk/FlGui.cpp +++ b/Fltk/FlGui.cpp @@ -338,6 +338,9 @@ FlGui::FlGui(int argc, char **argv) fullscreen->mode(mode); fullscreen->end(); fullscreen->fullscreen(); + #if not defined (__APPLE__) + fullscreen->icon(graph[0]->getWindow()->icon()); + #endif // create all other windows options = new optionWindow(CTX::instance()->deltaFontSize); @@ -1053,7 +1056,12 @@ void window_cb(Fl_Widget *w, void *data) } else if(str == "fullscreen"){ if(!fullscreen){ + int x,y,w,h; + Fl::screen_xywh(x, y, w, h); + FlGui::instance()->fullscreen->resize(x, y, w, h); + FlGui::instance()->fullscreen->valid(0); FlGui::instance()->fullscreen->show(); + while (!FlGui::instance()->fullscreen->valid()) FlGui::wait(); FlGui::instance()->fullscreen->getDrawContext()->copyViewAttributes (FlGui::instance()->getCurrentOpenglWindow()->getDrawContext()); openglWindow::setLastHandled(FlGui::instance()->fullscreen); @@ -1063,8 +1071,12 @@ void window_cb(Fl_Widget *w, void *data) fullscreen = 1; } else{ + for(unsigned int i = 0; i < FlGui::instance()->graph.size(); i++) + FlGui::instance()->graph[i]->gl[0]->valid(0); for(unsigned int i = 0; i < FlGui::instance()->graph.size(); i++) FlGui::instance()->graph[i]->getWindow()->show(); + for(unsigned int i = 0; i < FlGui::instance()->graph.size(); i++) + while(!FlGui::instance()->graph[i]->gl[0]->valid()) FlGui::wait(); FlGui::instance()->graph[0]->gl[0]->getDrawContext()->copyViewAttributes (FlGui::instance()->getCurrentOpenglWindow()->getDrawContext()); openglWindow::setLastHandled(FlGui::instance()->graph[0]->gl[0]); -- GitLab