@@ -2928,40 +2928,18 @@ static gboolean entry_focus_in_callback(GtkWidget *w,
29282928 return FALSE;
29292929}
29302930
2931- static gboolean _process_variant_params (GVariant * parameter ,
2932- gpointer userdata ,
2933- dt_lib_collect_mode_t * mode ,
2934- dt_lib_collect_rule_t * * d )
2935- {
2936- const gsize nb = g_variant_n_children (parameter );
2937-
2938- if (nb != 2 )
2939- return FALSE;
2940-
2941- dt_lib_collect_t * m = (dt_lib_collect_t * )userdata ;
2942-
2943- GVariant * v = g_variant_get_child_value (parameter , 0 );
2944- * mode = g_variant_get_int32 (v );
2945- g_variant_unref (v );
2946-
2947- v = g_variant_get_child_value (parameter , 1 );
2948- const int rule_index = g_variant_get_int32 (v );
2949- g_variant_unref (v );
2950-
2951- * d = & m -> rule [rule_index ];
2952-
2953- return TRUE;
2954- }
2955-
29562931static void _menuitem_mode (GSimpleAction * action ,
29572932 GVariant * parameter ,
29582933 gpointer userdata )
29592934{
2960- dt_lib_collect_mode_t mode ;
2961- dt_lib_collect_rule_t * d = NULL ;
2935+ dt_lib_collect_t * m = (dt_lib_collect_t * )userdata ;
29622936
2963- if (!_process_variant_params (parameter , userdata , & mode , & d ))
2964- return ;
2937+ dt_lib_collect_mode_t mode = 0 ;
2938+ int rule_index = 0 ;
2939+
2940+ g_variant_get (parameter , "(ii)" , & mode , & rule_index );
2941+
2942+ dt_lib_collect_rule_t * d = & m -> rule [rule_index ];
29652943
29662944 // add next row with and operator
29672945 const int _a = dt_conf_get_int ("plugins/lighttable/collect/num_rules" );
@@ -2989,11 +2967,14 @@ static void _menuitem_mode_change(GSimpleAction *action,
29892967 GVariant * parameter ,
29902968 gpointer userdata )
29912969{
2992- dt_lib_collect_mode_t mode ;
2993- dt_lib_collect_rule_t * d = NULL ;
2970+ dt_lib_collect_t * m = (dt_lib_collect_t * )userdata ;
29942971
2995- if (!_process_variant_params (parameter , userdata , & mode , & d ))
2996- return ;
2972+ dt_lib_collect_mode_t mode = 0 ;
2973+ int rule_index = 0 ;
2974+
2975+ g_variant_get (parameter , "(ii)" , & mode , & rule_index );
2976+
2977+ dt_lib_collect_rule_t * d = & m -> rule [rule_index ];
29972978
29982979 // add next row with and operator
29992980 const int num = d -> num + 1 ;
0 commit comments