summaryrefslogtreecommitdiff
path: root/lib/wx/c_src/wxe_callback_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wx/c_src/wxe_callback_impl.cpp')
-rw-r--r--lib/wx/c_src/wxe_callback_impl.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/wx/c_src/wxe_callback_impl.cpp b/lib/wx/c_src/wxe_callback_impl.cpp
index 77359e9256..09c9f2630a 100644
--- a/lib/wx/c_src/wxe_callback_impl.cpp
+++ b/lib/wx/c_src/wxe_callback_impl.cpp
@@ -309,6 +309,26 @@ int wxCALLBACK wxEListCtrlCompare(wxeIntPtr item1, wxeIntPtr item2, wxeIntPtr ca
}
+/* *****************************************************************/
+// TaskBarIcon with callbacks for VIRTUAL_TABLES
+
+wxMenu* EwxTaskBarIcon::CreatePopupMenu() {
+ if(createPopupMenu) {
+ INVOKE_CALLBACK(port, createPopupMenu, "wxTaskBarIcon");
+ char * bp = ((WxeApp *) wxTheApp)->cb_buff;
+ wxeMemEnv * memenv = ((WxeApp *) wxTheApp)->getMemEnv(port);
+ if(bp) {
+ wxMenu * result = (wxMenu *)((WxeApp *) wxTheApp)->getPtr(bp, memenv);
+ driver_free(((WxeApp *) wxTheApp)->cb_buff);
+ ((WxeApp *) wxTheApp)->cb_buff = NULL;
+ return result;
+ }
+ }
+ return NULL;
+}
+
+
+
// tools
void clear_cb(ErlDrvTermData port, int callback)