Skip to content

Commit 30caedb

Browse files
gm10raveit65
authored andcommitted
Fix moving a menu corrupting the menu
1 parent 7a677fe commit 30caedb

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

Mozo/MenuEditor.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ def save(self, from_loading=False):
8888
with codecs.open(getattr(self, menu).path, 'w', 'utf-8') as f:
8989
f.write(getattr(self, menu).dom.toprettyxml())
9090
if not from_loading:
91+
self.load()
9192
self.__loadMenus()
9293

9394
def quit(self):
@@ -425,11 +426,9 @@ def moveMenu(self, menu, new_parent, before=None, after=None):
425426
if menu.get_parent() != new_parent:
426427
dom = self.__getMenu(menu).dom
427428
path = self.__getPath(menu)
428-
root_path = path[0]
429-
xml_root = self.__getXmlMenu(root_path, dom.documentElement, dom)
430-
old_path = path[1:]
431-
new_path = self.__getPath(new_parent)[1:] + [menu.get_menu_id()]
432-
self.__addXmlMove(xml_root, '/'.join(old_path), '/'.join(new_path), dom)
429+
xml_root = self.__getXmlMenu(path[0], dom.documentElement, dom)
430+
new_path = self.__getPath(new_parent) + [menu.get_menu_id()]
431+
self.__addXmlMove(xml_root, '/'.join(path), '/'.join(new_path), dom)
433432
self.__positionItem(new_parent, menu, before, after)
434433
self.__addUndo([self.__getMenu(new_parent),])
435434
self.save()
@@ -578,6 +577,8 @@ def __getXmlMenuPart(self, element, name):
578577
return None
579578

580579
def __getXmlMenu(self, path, element, dom):
580+
if isinstance(path, str):
581+
return element
581582
for name in path:
582583
found = self.__getXmlMenuPart(element, name)
583584
if found is not None:

0 commit comments

Comments
 (0)