diff --git a/src/post_modules/GTK2/source/gtksourcelanguagesmanager.pre b/src/post_modules/GTK2/source/gtksourcelanguagesmanager.pre index dded6f17de3d7932fa1dfa71d4ad3db42be35549..d6e68bab007e45b01ed282154bce191f1c60151e 100644 --- a/src/post_modules/GTK2/source/gtksourcelanguagesmanager.pre +++ b/src/post_modules/GTK2/source/gtksourcelanguagesmanager.pre @@ -40,17 +40,17 @@ GTK2.SourceLanguage get_language_from_name(string name) //! Gets the GTK2.SourceLanguage which has this name. { pgtk_verify_inited(); - if (args) { + { char *name; const GSList *gsl; int sel=0; - name=PGTK_GETSTR(&Pike_sp[-args]); - my_pop_n_elems(args); + get_all_args("get_language_from_name", "%s", &name); gsl=gtk_source_languages_manager_get_available_languages( GTK_SOURCE_LANGUAGES_MANAGER(THIS->obj)); while (gsl) { if (!strcmp(gtk_source_language_get_name( GTK_SOURCE_LANGUAGE(gsl->data)),name)) { + my_pop_n_elems(args); push_gobject(gsl->data); g_object_ref(gsl->data); sel=1; @@ -58,11 +58,10 @@ GTK2.SourceLanguage get_language_from_name(string name) } gsl=g_slist_next(gsl); } - if (!sel) + if (!sel) { + my_pop_n_elems(args); push_int(0); - PGTK_FREESTR(name); - } else { - Pike_error("Expected 1 arg, got 0.\n"); + } } }