Fixed kernel multiple choise with same parameter name

pull/83/head
parent bd6339cfdd
commit ac33e13e95

@ -246,6 +246,37 @@ void on_kernel_parameter_switch(GtkCellRenderer *, char *path, main_window *widg
config_str parsed = yon_char_parse(config_param,&size," ");
switch (status){
case 0:{
if (strstr(parameter,"=")){
char *param_copy = yon_char_new(parameter);
char *cur_param = yon_char_divide_search(param_copy,"=",-1);
free(param_copy);
GtkTreeIter itar;
for_iter(GTK_TREE_MODEL(widgets->KernelParametersList),&itar){
char *target;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->KernelParametersList),&itar,1,&target,-1);
GtkTreePath *cur_path=gtk_tree_model_get_path(GTK_TREE_MODEL(widgets->KernelParametersList),&iter), *compare_path=gtk_tree_model_get_path(GTK_TREE_MODEL(widgets->KernelParametersList),&itar);
if (strstr(target,cur_param)&&strstr(target,"=")&&gtk_tree_path_compare(cur_path,compare_path)){
gtk_list_store_set(widgets->KernelParametersList,&itar,0,0,-1);
int pos = yon_char_parsed_check_exist(parsed,size,target);
if (pos>-1){
if (size>1){
parsed = yon_char_parsed_rip(parsed,&size,pos);
char *final = yon_char_parsed_to_string(parsed,size," ");
yon_config_register(GRUB_CMDLINE_LINUX_parameter,GRUB_CMDLINE_LINUX_command,final);
gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),final);
free(final);
} else {
gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),"");
yon_config_remove_by_key(GRUB_CMDLINE_LINUX_parameter);
}
}
}
gtk_tree_path_free(cur_path);
gtk_tree_path_free(compare_path);
}
free(cur_param);
}
int pos = yon_char_parsed_check_exist(parsed,size,parameter);
if (pos == -1){
yon_char_parsed_add_or_create_if_exists(parsed,&size,parameter);

@ -694,7 +694,9 @@
<property name="can-focus">True</property>
<property name="model">KernelParametersList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection">
<property name="mode">none</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
@ -825,7 +827,9 @@
<property name="can-focus">True</property>
<property name="model">InputTerminalList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection">
<property name="mode">none</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">
@ -960,7 +964,9 @@
<property name="can-focus">True</property>
<property name="model">OutputTerminalList</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
<object class="GtkTreeSelection">
<property name="mode">none</property>
</object>
</child>
<child>
<object class="GtkTreeViewColumn">

Loading…
Cancel
Save