diff options
-rw-r--r-- | apps/plugins/clix.c | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/apps/plugins/clix.c b/apps/plugins/clix.c index 5f9ad517ab..be60bdde7a 100644 --- a/apps/plugins/clix.c +++ b/apps/plugins/clix.c | |||
@@ -596,6 +596,8 @@ static int clix_menu(struct clix_game_state_t* state, bool ingame) | |||
596 | { | 596 | { |
597 | rb->button_clear_queue(); | 597 | rb->button_clear_queue(); |
598 | int choice = 0; | 598 | int choice = 0; |
599 | bool leave_menu=false; | ||
600 | int ret=0; | ||
599 | 601 | ||
600 | _ingame = ingame; | 602 | _ingame = ingame; |
601 | 603 | ||
@@ -607,16 +609,26 @@ static int clix_menu(struct clix_game_state_t* state, bool ingame) | |||
607 | "Playback Control", | 609 | "Playback Control", |
608 | "Quit"); | 610 | "Quit"); |
609 | 611 | ||
610 | while (true) { | 612 | /* Entering Menu, set the touchscreen to the global setting */ |
613 | rb->touchscreen_set_mode(rb->global_settings->touch_mode); | ||
614 | |||
615 | while (!leave_menu) { | ||
616 | |||
611 | switch (rb->do_menu(&main_menu, &choice, NULL, false)) { | 617 | switch (rb->do_menu(&main_menu, &choice, NULL, false)) { |
612 | case 0: | 618 | case 0: |
613 | return 0; | 619 | leave_menu=true; |
620 | ret = 0; | ||
621 | break; | ||
614 | case 1: | 622 | case 1: |
615 | clix_init(state); | 623 | clix_init(state); |
616 | return 0; | 624 | leave_menu=true; |
625 | ret = 0; | ||
626 | break; | ||
617 | case 2: | 627 | case 2: |
618 | if (clix_help()) | 628 | if (clix_help()) { |
619 | return 1; | 629 | leave_menu=true; |
630 | ret = 1; | ||
631 | } | ||
620 | break; | 632 | break; |
621 | case 3: | 633 | case 3: |
622 | highscore_show(NUM_SCORES, highest, NUM_SCORES, true); | 634 | highscore_show(NUM_SCORES, highest, NUM_SCORES, true); |
@@ -626,11 +638,18 @@ static int clix_menu(struct clix_game_state_t* state, bool ingame) | |||
626 | break; | 638 | break; |
627 | case 5: | 639 | case 5: |
628 | case MENU_ATTACHED_USB: | 640 | case MENU_ATTACHED_USB: |
629 | return 1; | 641 | leave_menu=true; |
642 | ret = 1; | ||
643 | break; | ||
630 | default: | 644 | default: |
631 | break; | 645 | break; |
632 | } | 646 | } |
633 | } | 647 | } |
648 | |||
649 | /* Leaving the menu, set back to pointer mode */ | ||
650 | rb->touchscreen_set_mode(TOUCHSCREEN_POINT); | ||
651 | |||
652 | return ret; | ||
634 | } | 653 | } |
635 | 654 | ||
636 | static int clix_handle_game(struct clix_game_state_t* state) | 655 | static int clix_handle_game(struct clix_game_state_t* state) |