Subversion Repositories freemyipod

Rev

Rev 504 | Rev 686 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 504 Rev 509
Line 74... Line 74...
74
    wakeup_init(&data.eventwakeup);
74
    wakeup_init(&data.eventwakeup);
75
    if (info->actionhandler->init)
75
    if (info->actionhandler->init)
76
        if (info->actionhandler->init(&data) < 0)
76
        if (info->actionhandler->init(&data) < 0)
77
            goto done;
77
            goto done;
78
    data.selected = &info->items[info->defaultitem];
78
    data.selected = &info->items[info->defaultitem];
79
    data.position = info->defaultitem * info->actionhandler->stepsperitem(&data);
79
    int spi = info->actionhandler->stepsperitem(&data);
-
 
80
    data.position = info->defaultitem * spi + spi / 2;
80
    if (info->renderer->init)
81
    if (info->renderer->init)
81
        if (info->renderer->init(&data) < 0)
82
        if (info->renderer->init(&data) < 0)
82
            goto destroy_actionhandler;
83
            goto destroy_actionhandler;
83
    struct button_hook_entry* hook = button_register_handler(chooser_button_handler, &data);
84
    struct button_hook_entry* hook = button_register_handler(chooser_button_handler, &data);
84
    if (!hook) goto destroy_renderer;
85
    if (!hook) goto destroy_renderer;
Line 107... Line 108...
107
                case CHOOSER_RESULT_FINISHED:
108
                case CHOOSER_RESULT_FINISHED:
108
                    goto finished;
109
                    goto finished;
109
                }
110
                }
110
            lasttick = USEC_TIMER;
111
            lasttick = USEC_TIMER;
111
        }
112
        }
112
        redrawneeded = info->renderer->render(&data) == CHOOSER_RESULT_REDRAW;
113
        if (redrawneeded) redrawneeded = info->renderer->render(&data) == CHOOSER_RESULT_REDRAW;
113
    }
114
    }
114
cancel:
115
cancel:
115
    data.selected = NULL;
116
    data.selected = NULL;
116
finished:
117
finished:
117
    rc = data.selected;
118
    rc = data.selected;