Code

Added hidden preference to re-enable floating dialogs on problematic window managers.
authorJon A. Cruz <jon@joncruz.org>
Fri, 2 Jul 2010 20:54:46 +0000 (13:54 -0700)
committerJon A. Cruz <jon@joncruz.org>
Fri, 2 Jul 2010 20:54:46 +0000 (13:54 -0700)
src/preferences-skeleton.h
src/widgets/toolbox.cpp

index c334ae31e1886fa7c99ade33a9ede2982b542e2e..dd925490e7966dc92327b3b921fa64cf1de33247 100644 (file)
@@ -343,6 +343,7 @@ static char const preferences_skeleton[] =
 "    </group>\n"
 "    <group id=\"workarounds\"\n"
 "           colorsontop=\"0\"\n"
+"           floatallowed=\"0\"\n"
 "           partialdynamic=\"0\"/>\n"
 "    <group id=\"threading\" numthreads=\"1\"/>\n"
 "  </group>\n"
index c255e087bb491484aa365daae1b5f089aab26967..b68d8404dc04deb4c5824acec929d2baaa5a9c23 100644 (file)
@@ -992,7 +992,8 @@ static GtkWidget* toolboxNewCommon( GtkWidget* tb, BarId id, GtkPositionType han
     gtk_widget_set_sensitive(tb, FALSE);
 
     GtkWidget *hb = 0;
-    if ( UXManager::getInstance()->isFloatWindowProblem() ) {
+    gboolean forceFloatAllowed = Inkscape::Preferences::get()->getBool("/options/workarounds/floatallowed", false);
+    if ( UXManager::getInstance()->isFloatWindowProblem() && !forceFloatAllowed ) {
         hb = gtk_event_box_new(); // A simple, neutral container.
     } else {
         hb = gtk_handle_box_new();