Add comments in the code about the recent dialog sizes problem fix.
[synfig.git] / synfig-studio / src / gtkmm / app.cpp
index 0068f86..ae8c8ba 100644 (file)
@@ -1299,23 +1299,25 @@ App::App(int *argc, char ***argv):
                state_manager->add_state(&state_scale);
                state_manager->add_state(&state_rotate);
                studio_init_cb.task(_("Init ModMirror...")); module_list_.push_back(new ModMirror()); module_list_.back()->start();
-               if(!getenv("SYNFIG_DISABLE_WIDTH"  )) state_manager->add_state(&state_width); // Enabled since 0.61.09
 
-               /* new objects */
+               /* geometry */
                state_manager->add_state(&state_circle);
                state_manager->add_state(&state_rectangle);
                state_manager->add_state(&state_star);
                state_manager->add_state(&state_gradient);
                if(!getenv("SYNFIG_DISABLE_POLYGON")) state_manager->add_state(&state_polygon); // Enabled - for working without ducks
-               state_manager->add_state(&state_text);
+
+               /* bline tools */
                state_manager->add_state(&state_bline);
                if(!getenv("SYNFIG_DISABLE_DRAW"   )) state_manager->add_state(&state_draw); // Enabled for now.  Let's see whether they're good enough yet.
-
-               /* other */
+               if(!getenv("SYNFIG_DISABLE_WIDTH"  )) state_manager->add_state(&state_width); // Enabled since 0.61.09
                state_manager->add_state(&state_fill);
                state_manager->add_state(&state_eyedrop);
-               state_manager->add_state(&state_zoom);
+
+               /* other */
+               state_manager->add_state(&state_text);
                if(!getenv("SYNFIG_DISABLE_SKETCH" )) state_manager->add_state(&state_sketch);
+               state_manager->add_state(&state_zoom);
 
                studio_init_cb.task(_("Init ModPalette..."));
                module_list_.push_back(new ModPalette()); module_list_.back()->start();
@@ -1389,7 +1391,16 @@ App::App(int *argc, char ***argv):
 
                studio_init_cb.task(_("Done."));
                studio_init_cb.amount_complete(10000,10000);
-
+        
+               // To avoid problems with some window managers and gtk >= 2.18
+               // we should show dock dialogs after the settings load.
+               // If dock dialogs are shown before the settings are loaded,
+               // the windows manager can act over it.
+               // See discussions here:
+               // * http://synfig.org/forums/viewtopic.php?f=1&t=1131&st=0&sk=t&sd=a&start=30
+               // * http://synfig.org/forums/viewtopic.php?f=15&t=1062
+               dock_manager->show_all_dock_dialogs();
+               
                toolbox->present();
        }
        catch(String x)