diff --git a/c/Encoding b/c/Encoding index 72cf8d818e2a713919d05123ee6ca4b27551fef2..d98b1ae953f4ac685a22b7b055dcc4c8dbf39bd0 100644 --- a/c/Encoding +++ b/c/Encoding @@ -189,13 +189,13 @@ int encoding_select(int eventcode, ToolboxEvent * event, IdBlock * idb, void * h { ObjectId ancestor; - e = toolbox_get_ancestor(0, idb->ancestor_id, &ancestor, NULL); + e = toolbox_get_ancestor(0, menu_id, &ancestor, NULL); if (!e && ancestor == choices_windowid && new_choices) { new_choices->encoding = idb->self_component; choices_set_encoding_field(); - encoding_prepare_menu(idb->ancestor_id, priority_default, new_choices->encoding); + encoding_prepare_menu(menu_id, priority_default, new_choices->encoding); return 1; } else @@ -208,7 +208,7 @@ int encoding_select(int eventcode, ToolboxEvent * event, IdBlock * idb, void * h b->encoding = idb->self_component; b->encoding_priority = priority_user; - encoding_prepare_menu(idb->ancestor_id, b->encoding_priority, b->encoding); + encoding_prepare_menu(menu_id, b->encoding_priority, b->encoding); } return 1; @@ -240,7 +240,7 @@ int encoding_from_document_select(int eventcode, ToolboxEvent * event, IdBlock * b->encoding_priority = priority_user; } - encoding_prepare_menu(idb->self_id, b->encoding_priority, b->encoding); + encoding_prepare_menu(menu_id, b->encoding_priority, b->encoding); return 1; } @@ -269,8 +269,12 @@ int encoding_show_menu(int eventcode, ToolboxEvent * event, IdBlock * idb, void if (idb->ancestor_id == choices_windowid && new_choices) { /* Fade "From document" item as it is not relevant to choices */ - encoding_prepare_menu(idb->self_id, priority_default, new_choices->encoding); + menu_set_fade(0, idb->self_id, 0x11FFF, 1); + encoding_prepare_menu(menu_id, priority_default, new_choices->encoding); + + toolbox_set_client_handle(0, idb->self_id, NULL); + return 1; } else @@ -292,7 +296,7 @@ int encoding_show_menu(int eventcode, ToolboxEvent * event, IdBlock * idb, void toolbox_set_client_handle(0, idb->self_id, b); - encoding_prepare_menu(idb->self_id, b->encoding_priority, b->encoding); + encoding_prepare_menu(menu_id, b->encoding_priority, b->encoding); } return 1;