summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgm10 <[email protected]>2019-02-19 18:52:03 +0100
committerraveit65 <[email protected]>2019-03-11 08:55:00 +0100
commit5958e4932597f7f58a298cda5e12d805b21bab2a (patch)
tree440712b15adb776a70fc35058fc62e5e0f5cdb90
parent7a677fef667a866bf6de6d179cbf9dbf2c7291f7 (diff)
downloadmozo-5958e4932597f7f58a298cda5e12d805b21bab2a.tar.bz2
mozo-5958e4932597f7f58a298cda5e12d805b21bab2a.tar.xz
Fix moving a menu corrupting the menu
-rw-r--r--Mozo/MenuEditor.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/Mozo/MenuEditor.py b/Mozo/MenuEditor.py
index 17315da..f94d591 100644
--- a/Mozo/MenuEditor.py
+++ b/Mozo/MenuEditor.py
@@ -88,6 +88,7 @@ class MenuEditor(object):
with codecs.open(getattr(self, menu).path, 'w', 'utf-8') as f:
f.write(getattr(self, menu).dom.toprettyxml())
if not from_loading:
+ self.load()
self.__loadMenus()
def quit(self):
@@ -425,11 +426,9 @@ class MenuEditor(object):
if menu.get_parent() != new_parent:
dom = self.__getMenu(menu).dom
path = self.__getPath(menu)
- root_path = path[0]
- xml_root = self.__getXmlMenu(root_path, dom.documentElement, dom)
- old_path = path[1:]
- new_path = self.__getPath(new_parent)[1:] + [menu.get_menu_id()]
- self.__addXmlMove(xml_root, '/'.join(old_path), '/'.join(new_path), dom)
+ xml_root = self.__getXmlMenu(path[0], dom.documentElement, dom)
+ new_path = self.__getPath(new_parent) + [menu.get_menu_id()]
+ self.__addXmlMove(xml_root, '/'.join(path), '/'.join(new_path), dom)
self.__positionItem(new_parent, menu, before, after)
self.__addUndo([self.__getMenu(new_parent),])
self.save()
@@ -578,6 +577,8 @@ class MenuEditor(object):
return None
def __getXmlMenu(self, path, element, dom):
+ if isinstance(path, str):
+ return element
for name in path:
found = self.__getXmlMenuPart(element, name)
if found is not None: