libbluray | branch: master | hpi1 <[email protected]> | Sun Feb 20 17:36:02 2011 +0200| [b5a04204b01bb4c9c3bf0bf71f57125a85bee1b1] | committer: hpi1
Do not allow user input when menu is not visible. > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=b5a04204b01bb4c9c3bf0bf71f57125a85bee1b1 --- src/libbluray/decoders/graphics_controller.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/src/libbluray/decoders/graphics_controller.c b/src/libbluray/decoders/graphics_controller.c index 30ed7bb..6007860 100644 --- a/src/libbluray/decoders/graphics_controller.c +++ b/src/libbluray/decoders/graphics_controller.c @@ -446,6 +446,10 @@ static int _user_input(GRAPHICS_CONTROLLER *gc, bd_vk_key_e key, GC_NAV_CMDS *cm TRACE("_user_input(): popup menu not visible\n"); return -1; } + if (!gc->ig_drawn) { + ERROR("_user_input(): menu not visible\n"); + return -1; + } TRACE("_user_input(%d)\n", key); @@ -508,7 +512,7 @@ static int _user_input(GRAPHICS_CONTROLLER *gc, bd_vk_key_e key, GC_NAV_CMDS *cm } /* render page ? */ - if (new_btn_id != cur_btn_id || activated_btn_id >= 0 || !gc->ig_drawn) { + if (new_btn_id != cur_btn_id || activated_btn_id >= 0) { bd_psr_write(gc->regs, PSR_SELECTED_BUTTON_ID, new_btn_id); @@ -720,6 +724,11 @@ static int _mouse_move(GRAPHICS_CONTROLLER *gc, unsigned x, unsigned y, GC_NAV_C gc->valid_mouse_position = 0; + if (!gc->ig_drawn) { + ERROR("_mouse_move(): menu not visible\n"); + return -1; + } + page = _find_page(&s->ics->interactive_composition, page_id); if (!page) { ERROR("_mouse_move(): unknown page #%d (have %d pages)\n", _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
