[Xfce4-commits] [apps/xfdashboard] 20/20: Handle empty root section when filtering for NULL or unavailble root section

noreply at xfce.org noreply at xfce.org
Sat May 16 21:21:29 CEST 2015


This is an automated email from the git hooks/post-receive script.

nomad pushed a commit to branch master
in repository apps/xfdashboard.

commit ebe04dd36089e04c36d7aedc7cdeb679d8acdf64
Author: Stephan Haller <nomad at froevel.de>
Date:   Sat May 16 20:54:07 2015 +0200

    Handle empty root section when filtering for NULL or unavailble root section
---
 xfdashboard/applications-menu-model.c |   24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/xfdashboard/applications-menu-model.c b/xfdashboard/applications-menu-model.c
index c5d5647..671f469 100644
--- a/xfdashboard/applications-menu-model.c
+++ b/xfdashboard/applications-menu-model.c
@@ -230,6 +230,18 @@ static gboolean _xfdashboard_applications_menu_model_filter_by_section(ClutterMo
 	return(doShow);
 }
 
+static gboolean _xfdashboard_applications_menu_model_filter_empty(ClutterModel *inModel,
+																	ClutterModelIter *inIter,
+																	gpointer inUserData)
+{
+	g_return_val_if_fail(XFDASHBOARD_IS_APPLICATIONS_MENU_MODEL(inModel), FALSE);
+	g_return_val_if_fail(CLUTTER_IS_MODEL_ITER(inIter), FALSE);
+	g_return_val_if_fail(GARCON_IS_MENU(inUserData), FALSE);
+
+	/* This functions always returns FALSE because each entry is considered empty and hidden */
+	return(FALSE);
+}
+
 /* Fill model */
 static GarconMenu* _xfdashboard_applications_menu_model_find_similar_menu(XfdashboardApplicationsMenuModel *self,
 																			GarconMenu *inMenu,
@@ -853,8 +865,16 @@ void xfdashboard_applications_menu_model_filter_by_section(XfdashboardApplicatio
 	priv=self->priv;
 
 	/* If requested section is NULL filter root menu */
-	if(inSection==NULL) inSection=priv->rootMenu;
+	if(!inSection) inSection=priv->rootMenu;
 
 	/* Filter model data */
-	clutter_model_set_filter(CLUTTER_MODEL(self), _xfdashboard_applications_menu_model_filter_by_section, g_object_ref(inSection), (GDestroyNotify)g_object_unref);
+	if(inSection)
+	{
+		clutter_model_set_filter(CLUTTER_MODEL(self), _xfdashboard_applications_menu_model_filter_by_section, g_object_ref(inSection), (GDestroyNotify)g_object_unref);
+	}
+		else
+		{
+			g_debug("Filtering empty (root) section");
+			clutter_model_set_filter(CLUTTER_MODEL(self), _xfdashboard_applications_menu_model_filter_empty, NULL, NULL);
+		}
 }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list