From 28ba52350230c3646d8bd95a3e20ae172f88e296 Mon Sep 17 00:00:00 2001
From: ale rimoldi <ale@graphicslab.org>
Date: Sun, 12 Oct 2025 21:24:29 +0200
Subject: when the selection contains a group add ungroup to context menu and
 enable the ungroup button in the palette


diff --git a/scribus/ui/contextmenu.cpp b/scribus/ui/contextmenu.cpp
index 10ab3b1b4..dc2ddfc2c 100644
--- a/scribus/ui/contextmenu.cpp
+++ b/scribus/ui/contextmenu.cpp
@@ -413,13 +413,10 @@ void ContextMenu::createMenuItems_Selection()
 		if (m_Sel.objectsLayer() != -1)
 			addAction(m_ScMW->scrActions["itemGroup"]);
 	}
-	else
+	if (selectedItemCount > 0 && m_doc->m_Selection->containsItemType(PageItem::Group))
 	{
-		if (currItem->isGroup())
-		{
-			addAction(m_ScMW->scrActions["itemUngroup"]);
-			addAction(m_ScMW->scrActions["itemGroupAdjust"]);
-		}
+		addAction(m_ScMW->scrActions["itemUngroup"]);
+		addAction(m_ScMW->scrActions["itemGroupAdjust"]);
 	}
 	//-->
 
diff --git a/scribus/ui/propertiespalette_xyz.cpp b/scribus/ui/propertiespalette_xyz.cpp
index f9026a5d2..955049df0 100644
--- a/scribus/ui/propertiespalette_xyz.cpp
+++ b/scribus/ui/propertiespalette_xyz.cpp
@@ -361,12 +361,13 @@ void PropertiesPalette_XYZ::setCurrentItem(PageItem *item)
 
 	doGroup->setEnabled(false);
 	doUnGroup->setEnabled(false);
-	if ((m_doc->m_Selection->count() > 1) && haveSameParent)
+	if (m_doc->m_Selection->count() > 1 && haveSameParent)
 		doGroup->setEnabled(true);
-	if (m_doc->m_Selection->count() == 1)
-		doUnGroup->setEnabled(m_item->isGroup());
-	if ((m_doc->appMode == modeEditClip) && (m_item->isGroup()))
-		doUnGroup->setEnabled(false);
+	if (m_doc->m_Selection->count() > 0)
+	{
+		if (m_doc->appMode != modeEditClip && m_doc->m_Selection->containsItemType(PageItem::Group))
+			doUnGroup->setEnabled(true);
+	}
 	if (m_item->isOSGFrame())
 	{
 		setEnabled(true);
