Initialize input manager dynamically
The input manager was partially initialized statically, but a call to input_manager_init() was needed anyway, so initialize all the fields from the "constructor". This is consistent with the initialization of the other structs.
This commit is contained in:
parent
dcee7c0f7f
commit
6a2cd089a1
3 changed files with 11 additions and 19 deletions
|
@ -52,9 +52,13 @@ is_shortcut_mod(struct input_manager *im, uint16_t sdl_mod) {
|
|||
}
|
||||
|
||||
void
|
||||
input_manager_init(struct input_manager *im,
|
||||
const struct scrcpy_options *options)
|
||||
{
|
||||
input_manager_init(struct input_manager *im, struct controller *controller,
|
||||
struct screen *screen,
|
||||
const struct scrcpy_options *options) {
|
||||
im->controller = controller;
|
||||
im->screen = screen;
|
||||
im->repeat = 0;
|
||||
|
||||
im->control = options->control;
|
||||
im->forward_key_repeat = options->forward_key_repeat;
|
||||
im->prefer_text = options->prefer_text;
|
||||
|
|
|
@ -42,8 +42,8 @@ struct input_manager {
|
|||
};
|
||||
|
||||
void
|
||||
input_manager_init(struct input_manager *im,
|
||||
const struct scrcpy_options *options);
|
||||
input_manager_init(struct input_manager *im, struct controller *controller,
|
||||
struct screen *screen, const struct scrcpy_options *options);
|
||||
|
||||
bool
|
||||
input_manager_handle_event(struct input_manager *im, SDL_Event *event);
|
||||
|
|
|
@ -40,19 +40,7 @@ static struct sc_v4l2_sink v4l2_sink;
|
|||
#endif
|
||||
static struct controller controller;
|
||||
static struct file_handler file_handler;
|
||||
|
||||
static struct input_manager input_manager = {
|
||||
.controller = &controller,
|
||||
.screen = &screen,
|
||||
.repeat = 0,
|
||||
|
||||
// initialized later
|
||||
.prefer_text = false,
|
||||
.sdl_shortcut_mods = {
|
||||
.data = {0},
|
||||
.count = 0,
|
||||
},
|
||||
};
|
||||
static struct input_manager input_manager;
|
||||
|
||||
#ifdef _WIN32
|
||||
BOOL WINAPI windows_ctrl_handler(DWORD ctrl_type) {
|
||||
|
@ -422,7 +410,7 @@ scrcpy(const struct scrcpy_options *options) {
|
|||
}
|
||||
stream_started = true;
|
||||
|
||||
input_manager_init(&input_manager, options);
|
||||
input_manager_init(&input_manager, &controller, &screen, options);
|
||||
|
||||
ret = event_loop(options);
|
||||
LOGD("quit...");
|
||||
|
|
Loading…
Reference in a new issue