Updating branch refs/heads/0.6.x to 62926768568bf222739c07aebc2480f4895a36b2 (commit) from 4804e72540e692132c9552c60a7fcdd3844f85eb (commit)
commit 62926768568bf222739c07aebc2480f4895a36b2 Author: Andre Ellguth <an...@ellguth.com> Date: Thu Sep 19 18:55:17 2013 +0200 Fixed some strange bugs in the dockapp movement (panel off mode). panel-plugin/dockapp.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/panel-plugin/dockapp.c b/panel-plugin/dockapp.c index a8d6533..4ba8f43 100644 --- a/panel-plugin/dockapp.c +++ b/panel-plugin/dockapp.c @@ -260,6 +260,8 @@ static gboolean wmdock_replace_tile_dummy(DockappNode *dapp) for(i = 0; i < GLUE_MAX; i++) { if(_dapp->glue[i] && !g_strcmp0(_dapp->glue[i]->name, DOCKAPP_DUMMY_TITLE)) { g_list_foreach(wmdock->dapps, (GFunc) wmdock_remove_anchor_dockapp, dapp); + _dapp->glue[i] = dapp; + debug("dockapp.c: Connect `%s' to `%s' with glue.", dapp->name, _dapp->name); for(j = 0; j < GLUE_MAX; j++) { if(parent) { if(parent == dapp->glue[j]) @@ -267,16 +269,19 @@ static gboolean wmdock_replace_tile_dummy(DockappNode *dapp) /* Transfer all connected DockApps to the parent. */ _parent = parent; - while(_parent->glue[j]) { + while(_parent->glue[j] && _parent->glue[j] != dapp->glue[j]) { _parent = _parent->glue[j]; } + if(dapp->glue[j] && _parent->glue[j] == dapp->glue[j]) { + debug("dockapp.c: Parent_Connect `%s' to `%s' with glue.", dapp->glue[j]->name, _parent->name); + continue; + } _parent->glue[j] = dapp->glue[j]; } /* Remove old anchor itself or all anchors it was the first anchor. */ dapp->glue[j] = NULL; } - _dapp->glue[i] = dapp; - debug("dockapp.c: Connect `%s' to `%s' with glue.", dapp->name, _dapp->name); + return TRUE; } } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits