diff options
| author | gustav_b <gustav_b@users.sourceforge.net> | 2007-09-25 23:23:44 +0000 |
|---|---|---|
| committer | gustav_b <gustav_b@users.sourceforge.net> | 2007-09-25 23:23:44 +0000 |
| commit | 8966f982ceca52727cdfeb1fa161eb67bc2994c4 (patch) | |
| tree | ce09494e740429b0a1df71c1d3a66557710e2eb4 /src/ui/widget/dock-item.cpp | |
| parent | removed flop IM extension from POTFLES.in (diff) | |
| download | inkscape-8966f982ceca52727cdfeb1fa161eb67bc2994c4.tar.gz inkscape-8966f982ceca52727cdfeb1fa161eb67bc2994c4.zip | |
Define DockItems' floating state properly. Fixes some issues with
floating docks.
(bzr r3799)
Diffstat (limited to 'src/ui/widget/dock-item.cpp')
| -rw-r--r-- | src/ui/widget/dock-item.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/ui/widget/dock-item.cpp b/src/ui/widget/dock-item.cpp index 2187c33e9..74cc44be9 100644 --- a/src/ui/widget/dock-item.cpp +++ b/src/ui/widget/dock-item.cpp @@ -196,14 +196,8 @@ DockItem::isAttached() const bool DockItem::isFloating() const { - gboolean floating = FALSE; - if (GDL_IS_DOCK (gdl_dock_object_get_parent_object (GDL_DOCK_OBJECT (_gdl_dock_item)))) { - GdlDock* dock = GDL_DOCK (gdl_dock_object_get_parent_object (GDL_DOCK_OBJECT (_gdl_dock_item))); - g_object_get (dock, - "floating", &floating, - NULL); - } - return floating; + return (GTK_WIDGET(gdl_dock_object_get_toplevel(GDL_DOCK_OBJECT (_gdl_dock_item))) != + _dock.getGdlWidget()); } bool @@ -431,7 +425,7 @@ DockItem::_onStateChanged(State prev_state, State new_state) { _window = getWindow(); - if (new_state == FLOATING_STATE) { + if (new_state == FLOATING_STATE && _window) { _window->signal_hide().connect(sigc::mem_fun(*this, &Inkscape::UI::Widget::DockItem::_onHideWindow)); _signal_key_press_event_connection = _window->signal_key_press_event().connect(sigc::mem_fun(*this, &Inkscape::UI::Widget::DockItem::_onKeyPress)); |
