[libbluray-devel] gc_run(): reset is always valid operation
hpi1
git at videolan.org
Wed Feb 9 16:59:24 CET 2011
libbluray | branch: master | hpi1 <hpi1 at anonymous.org> | Wed Feb 9 17:59:07 2011 +0200| [96ff9fbe39138eea983cfc0347391733527e2f26] | committer: hpi1
gc_run(): reset is always valid operation
> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=96ff9fbe39138eea983cfc0347391733527e2f26
---
src/libbluray/decoders/graphics_controller.c | 16 ++++++++++++----
1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/libbluray/decoders/graphics_controller.c b/src/libbluray/decoders/graphics_controller.c
index 5ec57ba..b95d567 100644
--- a/src/libbluray/decoders/graphics_controller.c
+++ b/src/libbluray/decoders/graphics_controller.c
@@ -756,6 +756,15 @@ int gc_run(GRAPHICS_CONTROLLER *gc, gc_ctrl_e ctrl, uint32_t param, GC_NAV_CMDS
cmds->sound_id_ref = -1;
}
+ /* always accept reset */
+ switch (ctrl) {
+ case GC_CTRL_RESET:
+ _gc_reset(gc);
+ return 0;
+ default:;
+ }
+
+ /* other operations require complete display set */
if (!gc || !gc->igs || !gc->igs->ics || !gc->igs->complete) {
TRACE("gc_run(): no interactive composition\n");
return result;
@@ -795,10 +804,6 @@ int gc_run(GRAPHICS_CONTROLLER *gc, gc_ctrl_e ctrl, uint32_t param, GC_NAV_CMDS
_render_page(gc, 0xffff, cmds);
break;
- case GC_CTRL_RESET:
- _gc_reset(gc);
- break;
-
case GC_CTRL_IG_END:
_update_selected_button(gc);
_render_page(gc, 0xffff, cmds);
@@ -815,6 +820,9 @@ int gc_run(GRAPHICS_CONTROLLER *gc, gc_ctrl_e ctrl, uint32_t param, GC_NAV_CMDS
case GC_CTRL_MOUSE_MOVE:
result = _mouse_move(gc, param >> 16, param & 0xffff, cmds);
break;
+ case GC_CTRL_RESET:
+ /* already handled */
+ break;
}
return result;
More information about the libbluray-devel
mailing list