@@ -2926,40 +2926,18 @@ static gboolean entry_focus_in_callback(GtkWidget *w,
29262926 return FALSE;
29272927}
29282928
2929- static gboolean _process_variant_params (GVariant * parameter ,
2930- gpointer userdata ,
2931- dt_lib_collect_mode_t * mode ,
2932- dt_lib_collect_rule_t * * d )
2933- {
2934- const gsize nb = g_variant_n_children (parameter );
2935-
2936- if (nb != 2 )
2937- return FALSE;
2938-
2939- dt_lib_collect_t * m = (dt_lib_collect_t * )userdata ;
2940-
2941- GVariant * v = g_variant_get_child_value (parameter , 0 );
2942- * mode = g_variant_get_int32 (v );
2943- g_variant_unref (v );
2944-
2945- v = g_variant_get_child_value (parameter , 1 );
2946- const int rule_index = g_variant_get_int32 (v );
2947- g_variant_unref (v );
2948-
2949- * d = & m -> rule [rule_index ];
2950-
2951- return TRUE;
2952- }
2953-
29542929static void _menuitem_mode (GSimpleAction * action ,
29552930 GVariant * parameter ,
29562931 gpointer userdata )
29572932{
2958- dt_lib_collect_mode_t mode ;
2959- dt_lib_collect_rule_t * d = NULL ;
2933+ dt_lib_collect_t * m = (dt_lib_collect_t * )userdata ;
29602934
2961- if (!_process_variant_params (parameter , userdata , & mode , & d ))
2962- return ;
2935+ dt_lib_collect_mode_t mode = 0 ;
2936+ int rule_index = 0 ;
2937+
2938+ g_variant_get (parameter , "(ii)" , & mode , & rule_index );
2939+
2940+ dt_lib_collect_rule_t * d = & m -> rule [rule_index ];
29632941
29642942 // add next row with and operator
29652943 const int _a = dt_conf_get_int ("plugins/lighttable/collect/num_rules" );
@@ -2987,11 +2965,14 @@ static void _menuitem_mode_change(GSimpleAction *action,
29872965 GVariant * parameter ,
29882966 gpointer userdata )
29892967{
2990- dt_lib_collect_mode_t mode ;
2991- dt_lib_collect_rule_t * d = NULL ;
2968+ dt_lib_collect_t * m = (dt_lib_collect_t * )userdata ;
29922969
2993- if (!_process_variant_params (parameter , userdata , & mode , & d ))
2994- return ;
2970+ dt_lib_collect_mode_t mode = 0 ;
2971+ int rule_index = 0 ;
2972+
2973+ g_variant_get (parameter , "(ii)" , & mode , & rule_index );
2974+
2975+ dt_lib_collect_rule_t * d = & m -> rule [rule_index ];
29952976
29962977 // add next row with and operator
29972978 const int num = d -> num + 1 ;
0 commit comments