about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/generated/functions_list.txt1
-rw-r--r--src/wrapped/generated/wrappedgtkx112types.h1
-rwxr-xr-xsrc/wrapped/wrappedgtkx112.c30
-rwxr-xr-xsrc/wrapped/wrappedgtkx112_private.h2
4 files changed, 33 insertions, 1 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 7ac4f916..11c3bf09 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -2551,6 +2551,7 @@ wrappedgtkx112:
   - gtk_container_foreach
   - gtk_menu_attach_to_widget
   - gtk_tree_model_foreach
+  - gtk_tree_selection_selected_foreach
 - vFppV:
   - gtk_dialog_add_buttons
   - gtk_list_store_set
diff --git a/src/wrapped/generated/wrappedgtkx112types.h b/src/wrapped/generated/wrappedgtkx112types.h
index 417759fc..85f97f9a 100644
--- a/src/wrapped/generated/wrappedgtkx112types.h
+++ b/src/wrapped/generated/wrappedgtkx112types.h
@@ -58,6 +58,7 @@ typedef void* (*pFpipppppppi_t)(void*, int64_t, void*, void*, void*, void*, void
 	GO(gtk_container_foreach, vFppp_t) \
 	GO(gtk_menu_attach_to_widget, vFppp_t) \
 	GO(gtk_tree_model_foreach, vFppp_t) \
+	GO(gtk_tree_selection_selected_foreach, vFppp_t) \
 	GO(gtk_dialog_add_buttons, vFppV_t) \
 	GO(gtk_list_store_set, vFppV_t) \
 	GO(gtk_message_dialog_format_secondary_markup, vFppV_t) \
diff --git a/src/wrapped/wrappedgtkx112.c b/src/wrapped/wrappedgtkx112.c
index 12627c4d..8769e863 100755
--- a/src/wrapped/wrappedgtkx112.c
+++ b/src/wrapped/wrappedgtkx112.c
@@ -469,6 +469,29 @@ static void* findGtkTreeModelForeachFuncFct(void* fct)
     return NULL;
 }
 
+// GtkTreeSelectionSelectedForeachFunc
+#define GO(A)   \
+static uintptr_t my_GtkTreeSelectionSelectedForeachFunc_fct_##A = 0;                                                    \
+static int my_GtkTreeSelectionSelectedForeachFunc_##A(void* selection, void* path, void* iter, void* data)                  \
+{                                                                                                           \
+    return (int)RunFunction(my_context, my_GtkTreeSelectionSelectedForeachFunc_fct_##A, 4, selection, path, iter, data);    \
+}
+SUPER()
+#undef GO
+static void* findGtkTreeSelectionSelectedForeachFuncFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_GtkTreeSelectionSelectedForeachFunc_fct_##A == (uintptr_t)fct) return my_GtkTreeSelectionSelectedForeachFunc_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_GtkTreeSelectionSelectedForeachFunc_fct_##A == 0) {my_GtkTreeSelectionSelectedForeachFunc_fct_##A = (uintptr_t)fct; return my_GtkTreeSelectionSelectedForeachFunc_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for gtk-2 GtkTreeSelectionSelectedForeachFunc callback\n");
+    return NULL;
+}
+
 // GtkClipboardReceivedFunc
 #define GO(A)   \
 static uintptr_t my_GtkClipboardReceivedFunc_fct_##A = 0;                                   \
@@ -1114,6 +1137,13 @@ EXPORT void my_gtk_tree_model_foreach(x64emu_t* emu, void* model, void* f, void*
     my->gtk_tree_model_foreach(model, findGtkTreeModelForeachFuncFct(f), data);
 }
 
+EXPORT void my_gtk_tree_selection_selected_foreach(x64emu_t* emu, void* selection, void* f, void* data)
+{
+    gtkx112_my_t *my = (gtkx112_my_t*)my_lib->priv.w.p2;
+
+    my->gtk_tree_selection_selected_foreach(selection, findGtkTreeSelectionSelectedForeachFuncFct(f), data);
+}
+
 EXPORT void my_gtk_clipboard_request_contents(x64emu_t* emu, void* clipboard, void* target, void* f, void* data)
 {
     gtkx112_my_t *my = (gtkx112_my_t*)my_lib->priv.w.p2;
diff --git a/src/wrapped/wrappedgtkx112_private.h b/src/wrapped/wrappedgtkx112_private.h
index e7bcd56c..03164a6f 100755
--- a/src/wrapped/wrappedgtkx112_private.h
+++ b/src/wrapped/wrappedgtkx112_private.h
@@ -3367,7 +3367,7 @@ GO(gtk_tree_selection_get_type, LFv)
 GO(gtk_tree_selection_iter_is_selected, iFpp)
 GO(gtk_tree_selection_path_is_selected, iFpp)
 GO(gtk_tree_selection_select_all, vFp)
-//GOM(gtk_tree_selection_selected_foreach, vFEpBp)
+GOM(gtk_tree_selection_selected_foreach, vFEppp)
 GO(gtk_tree_selection_select_iter, vFpp)
 GO(gtk_tree_selection_select_path, vFpp)
 GO(gtk_tree_selection_select_range, vFppp)