diff options
Diffstat (limited to 'lib/wx/c_src/wxe_callback_impl.cpp')
-rw-r--r-- | lib/wx/c_src/wxe_callback_impl.cpp | 20 |
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) |