author | francesco <francesco.bbt@gmail.com> | 2011年01月04日 00:08:50 +0100 |
---|---|---|
committer | francesco <francesco.bbt@gmail.com> | 2011年01月04日 00:08:50 +0100 |
commit | e1075953dc2b86704dc3204d4523caa85cb71a56 (patch) | |
tree | f1c76561963b277652d9263f510ed316d3736863 /agg-plot/window.cpp | |
parent | 3cda0d445e3b6eee327b9552a282a17c4fbc0cd0 (diff) | |
download | gsl-shell-e1075953dc2b86704dc3204d4523caa85cb71a56.tar.gz |
-rw-r--r-- | agg-plot/window.cpp | 25 |
diff --git a/agg-plot/window.cpp b/agg-plot/window.cpp index 32ff234d..f6ded335 100644 --- a/agg-plot/window.cpp +++ b/agg-plot/window.cpp @@ -487,15 +487,20 @@ window_split (lua_State *L) win->lock(); win->cleanup_refs(L, 1); - if (!win->split(spec)) + + if (! win->split(spec)) { - win->do_window_update(); + if (win->status == canvas_window::running) + win->do_window_update(); win->unlock(); return luaL_error(L, window::error_message(window::invalid_split_string)); } - win->on_draw(); - win->do_window_update(); + if (win->status == canvas_window::running) + { + win->on_draw(); + win->do_window_update(); + } win->unlock(); return 0; @@ -514,7 +519,8 @@ window_attach (lua_State *L) if (slot_id >= 0) { - win->draw_slot(slot_id, true); + if (win->status == canvas_window::running) + win->draw_slot(slot_id, true); win->unlock(); object_refs_add (L, table_window_plot, slot_id, 1, 2); } @@ -544,9 +550,12 @@ window_update (lua_State *L) { window *win = object_check<window>(L, 1, GS_WINDOW); - win->lock(); - win->on_draw(); - win->do_window_update(); + win->lock(); + if (win->status == canvas_window::running) + { + win->on_draw(); + win->do_window_update(); + } win->unlock(); return 0; |