@@ -374,11 +374,9 @@ def moveMenu(self, menu, new_parent, before=None, after=None):
374374 if menu .get_parent () != new_parent :
375375 dom = self .__getMenu (menu ).dom
376376 path = self .__getPath (menu )
377- root_path = path [0 ]
378- xml_root = self .__getXmlMenu (root_path , dom .documentElement , dom )
379- old_path = path [1 :]
380- new_path = self .__getPath (new_parent )[1 :] + [menu .get_menu_id ()]
381- self .__addXmlMove (xml_root , '/' .join (old_path ), '/' .join (new_path ), dom )
377+ xml_root = self .__getXmlMenu (path [0 ], dom .documentElement , dom )
378+ new_path = self .__getPath (new_parent ) + [menu .get_menu_id ()]
379+ self .__addXmlMove (xml_root , '/' .join (path ), '/' .join (new_path ), dom )
382380 self .__positionItem (new_parent , menu , before , after )
383381 self .__addUndo ([self .__getMenu (new_parent ),])
384382 self .save ()
@@ -521,6 +519,8 @@ def __getXmlMenuPart(self, element, name):
521519 return None
522520
523521 def __getXmlMenu (self , path , element , dom ):
522+ if isinstance (path , str ):
523+ return element
524524 for name in path :
525525 found = self .__getXmlMenuPart (element , name )
526526 if found is not None :
0 commit comments