diff options
author | Dan Gudmundsson <[email protected]> | 2015-07-08 16:13:13 +0200 |
---|---|---|
committer | Dan Gudmundsson <[email protected]> | 2015-07-08 16:13:13 +0200 |
commit | e16d2a78e6e60dcc57867748ae809e448ef578e4 (patch) | |
tree | 39c92df6d1e50cb65cfdf1049cc0c0074375d708 /lib/wx/test/wx_event_SUITE.erl | |
parent | 9ebb4472d9cbe0dc907c894231ce1f61a04fa0b6 (diff) | |
parent | 3461837363d82e6c908ac81f664da4372aa3a8b0 (diff) | |
download | otp-e16d2a78e6e60dcc57867748ae809e448ef578e4.tar.gz otp-e16d2a78e6e60dcc57867748ae809e448ef578e4.tar.bz2 otp-e16d2a78e6e60dcc57867748ae809e448ef578e4.zip |
Merge branch 'maint'
* maint:
wx: Add event callback fastpath
wx: Event callbacks could hang wx application temporary
wx: Make wxLANGUAGE_ variable
wx: Send wxWdigets assert to error logger
wx: Add mouse_capture_lost event
wx: Fix code generator
Diffstat (limited to 'lib/wx/test/wx_event_SUITE.erl')
-rw-r--r-- | lib/wx/test/wx_event_SUITE.erl | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/wx/test/wx_event_SUITE.erl b/lib/wx/test/wx_event_SUITE.erl index 2d6f7b6aaa..7e71d6ca69 100644 --- a/lib/wx/test/wx_event_SUITE.erl +++ b/lib/wx/test/wx_event_SUITE.erl @@ -78,7 +78,6 @@ connect(Config) -> Tester ! {got_size, UserD} end, - ?m(ok, wxFrame:connect(Frame, size)), ?m(ok, wxEvtHandler:connect(Panel, size,[{skip, true},{userData, panel}])), ?m(ok, wxEvtHandler:connect(Panel, size,[{callback,CB},{userData, panel}])), @@ -91,12 +90,16 @@ connect(Config) -> ?m(ok, wxWindow:connect(Window, size,[{callback,CB},{userData, window}])), ?m(ok, wxWindow:connect(Window, size,[{skip,true},{userData, window}])), + %% For trivial side effect free callbacks, can deadlock easily otherwise + CB1 = fun(_,_) -> Tester ! {got_size, nospawn_cb} end, + ?m(ok, wxWindow:connect(Frame, size, [{callback,{nospawn, CB1}}])), + ?m(ok, wxFrame:connect(Frame, size, [{skip, true}])), ?m(true, wxFrame:show(Frame)), wxWindow:setSize(Panel, {200,100}), wxWindow:setSize(Window, {200,100}), - get_size_messages(Frame, [frame, panel_cb, window_cb, window]), + get_size_messages(Frame, [frame, panel_cb, window_cb, window, nospawn_cb]), wx_test_lib:wx_destroy(Frame, Config). @@ -115,7 +118,9 @@ get_size_messages(Frame, Msgs) -> ?m(false, lists:member(window, Msgs)), get_size_messages(Frame, lists:delete(window_cb, Msgs)); {got_size,panel} -> - get_size_messages(Frame, lists:delete(panel_cb, Msgs)); + get_size_messages(Frame, lists:delete(panel_cb, Msgs)); + {got_size,nospawn_cb} -> + get_size_messages(Frame, lists:delete(nospawn_cb, Msgs)); Other -> ?error("Got unexpected msg ~p ~p~n", [Other,Msgs]) after 1000 -> |