diff options
author | Dan Gudmundsson <[email protected]> | 2011-01-13 11:46:42 +0100 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2011-03-02 11:22:30 +0100 |
commit | e6c038125fd204d9c2f8fa3df282ec1b75bc31b1 (patch) | |
tree | cdf3e1dfb5402f9b83c1dcc7e3adb98a3525401e /lib/wx/c_src | |
parent | cdf46e658a3a11b97f6179c0d416dc8f2e975509 (diff) | |
download | otp-e6c038125fd204d9c2f8fa3df282ec1b75bc31b1.tar.gz otp-e6c038125fd204d9c2f8fa3df282ec1b75bc31b1.tar.bz2 otp-e6c038125fd204d9c2f8fa3df282ec1b75bc31b1.zip |
Fixed coredump when graphics could not be initiated
For instance when DISPLAY was not set
Diffstat (limited to 'lib/wx/c_src')
-rw-r--r-- | lib/wx/c_src/wxe_driver.c | 3 | ||||
-rw-r--r-- | lib/wx/c_src/wxe_impl.cpp | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/wx/c_src/wxe_driver.c b/lib/wx/c_src/wxe_driver.c index 310325ea26..14a9d1e982 100644 --- a/lib/wx/c_src/wxe_driver.c +++ b/lib/wx/c_src/wxe_driver.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2008-2010. All Rights Reserved. + * Copyright Ericsson AB 2008-2011. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -146,7 +146,6 @@ static void wxe_driver_unload(void) { // fprintf(stderr, "%s:%d: UNLOAD \r\n", __FILE__,__LINE__); - meta_command(WXE_SHUTDOWN, wxe_master); stop_native_gui(wxe_master); unload_native_gui(); free(wxe_master); diff --git a/lib/wx/c_src/wxe_impl.cpp b/lib/wx/c_src/wxe_impl.cpp index 79d1a29519..8bccdc0a68 100644 --- a/lib/wx/c_src/wxe_impl.cpp +++ b/lib/wx/c_src/wxe_impl.cpp @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2008-2010. All Rights Reserved. + * Copyright Ericsson AB 2008-2011. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -117,6 +117,9 @@ int start_native_gui(wxe_data *sd) void stop_native_gui(wxe_data *sd) { + if(wxe_status == WXE_INITIATED) { + meta_command(WXE_SHUTDOWN, sd); + } erl_drv_thread_join(wxe_thread, NULL); erl_drv_mutex_destroy(wxe_status_m); erl_drv_cond_destroy(wxe_status_c); |