[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