Pass config_file through to weston_compositor_init
This allows us to do config parsing there. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
committed by
Kristian Høgsberg
parent
baf4359285
commit
c1be8e59de
@@ -403,7 +403,8 @@ android_compositor_destroy(struct weston_compositor *base)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static struct weston_compositor *
|
static struct weston_compositor *
|
||||||
android_compositor_create(struct wl_display *display, int argc, char *argv[])
|
android_compositor_create(struct wl_display *display, int argc, char *argv[],
|
||||||
|
const char *config_file)
|
||||||
{
|
{
|
||||||
struct android_compositor *compositor;
|
struct android_compositor *compositor;
|
||||||
struct android_output *output;
|
struct android_output *output;
|
||||||
@@ -425,7 +426,8 @@ android_compositor_create(struct wl_display *display, int argc, char *argv[])
|
|||||||
if (android_init_egl(compositor, output) < 0)
|
if (android_init_egl(compositor, output) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (weston_compositor_init(&compositor->base, display, argc, argv) < 0)
|
if (weston_compositor_init(&compositor->base, display, argc, argv,
|
||||||
|
config_file) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
android_compositor_add_output(compositor, output);
|
android_compositor_add_output(compositor, output);
|
||||||
@@ -438,7 +440,8 @@ android_compositor_create(struct wl_display *display, int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
WL_EXPORT struct weston_compositor *
|
WL_EXPORT struct weston_compositor *
|
||||||
backend_init(struct wl_display *display, int argc, char *argv[])
|
backend_init(struct wl_display *display, int argc, char *argv[],
|
||||||
|
const char *config_file)
|
||||||
{
|
{
|
||||||
return android_compositor_create(display, argc, argv);
|
return android_compositor_create(display, argc, argv, config_file);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1739,7 +1739,7 @@ static const char default_seat[] = "seat0";
|
|||||||
static struct weston_compositor *
|
static struct weston_compositor *
|
||||||
drm_compositor_create(struct wl_display *display,
|
drm_compositor_create(struct wl_display *display,
|
||||||
int connector, const char *seat, int tty,
|
int connector, const char *seat, int tty,
|
||||||
int argc, char *argv[])
|
int argc, char *argv[], const char *config_file)
|
||||||
{
|
{
|
||||||
struct drm_compositor *ec;
|
struct drm_compositor *ec;
|
||||||
struct udev_enumerate *e;
|
struct udev_enumerate *e;
|
||||||
@@ -1805,7 +1805,8 @@ drm_compositor_create(struct wl_display *display,
|
|||||||
ec->prev_state = WESTON_COMPOSITOR_ACTIVE;
|
ec->prev_state = WESTON_COMPOSITOR_ACTIVE;
|
||||||
|
|
||||||
/* Can't init base class until we have a current egl context */
|
/* Can't init base class until we have a current egl context */
|
||||||
if (weston_compositor_init(&ec->base, display, argc, argv) < 0)
|
if (weston_compositor_init(&ec->base, display, argc, argv,
|
||||||
|
config_file) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
for (key = KEY_F1; key < KEY_F9; key++)
|
for (key = KEY_F1; key < KEY_F9; key++)
|
||||||
@@ -1853,7 +1854,8 @@ drm_compositor_create(struct wl_display *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
WL_EXPORT struct weston_compositor *
|
WL_EXPORT struct weston_compositor *
|
||||||
backend_init(struct wl_display *display, int argc, char *argv[])
|
backend_init(struct wl_display *display, int argc, char *argv[],
|
||||||
|
const char *config_file)
|
||||||
{
|
{
|
||||||
int connector = 0, tty = 0;
|
int connector = 0, tty = 0;
|
||||||
const char *seat = default_seat;
|
const char *seat = default_seat;
|
||||||
@@ -1866,5 +1868,6 @@ backend_init(struct wl_display *display, int argc, char *argv[])
|
|||||||
|
|
||||||
parse_options(drm_options, ARRAY_LENGTH(drm_options), argc, argv);
|
parse_options(drm_options, ARRAY_LENGTH(drm_options), argc, argv);
|
||||||
|
|
||||||
return drm_compositor_create(display, connector, seat, tty, argc, argv);
|
return drm_compositor_create(display, connector, seat, tty, argc, argv,
|
||||||
|
config_file);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -738,7 +738,7 @@ wayland_destroy(struct weston_compositor *ec)
|
|||||||
static struct weston_compositor *
|
static struct weston_compositor *
|
||||||
wayland_compositor_create(struct wl_display *display,
|
wayland_compositor_create(struct wl_display *display,
|
||||||
int width, int height, const char *display_name,
|
int width, int height, const char *display_name,
|
||||||
int argc, char *argv[])
|
int argc, char *argv[], const char *config_file)
|
||||||
{
|
{
|
||||||
struct wayland_compositor *c;
|
struct wayland_compositor *c;
|
||||||
struct wl_event_loop *loop;
|
struct wl_event_loop *loop;
|
||||||
@@ -770,7 +770,8 @@ wayland_compositor_create(struct wl_display *display,
|
|||||||
c->base.destroy = wayland_destroy;
|
c->base.destroy = wayland_destroy;
|
||||||
|
|
||||||
/* Can't init base class until we have a current egl context */
|
/* Can't init base class until we have a current egl context */
|
||||||
if (weston_compositor_init(&c->base, display, argc, argv) < 0)
|
if (weston_compositor_init(&c->base, display, argc, argv,
|
||||||
|
config_file) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
create_border(c);
|
create_border(c);
|
||||||
@@ -793,7 +794,8 @@ wayland_compositor_create(struct wl_display *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
WL_EXPORT struct weston_compositor *
|
WL_EXPORT struct weston_compositor *
|
||||||
backend_init(struct wl_display *display, int argc, char *argv[])
|
backend_init(struct wl_display *display, int argc, char *argv[],
|
||||||
|
const char *config_file)
|
||||||
{
|
{
|
||||||
int width = 1024, height = 640;
|
int width = 1024, height = 640;
|
||||||
char *display_name = NULL;
|
char *display_name = NULL;
|
||||||
@@ -808,5 +810,5 @@ backend_init(struct wl_display *display, int argc, char *argv[])
|
|||||||
ARRAY_LENGTH(wayland_options), argc, argv);
|
ARRAY_LENGTH(wayland_options), argc, argv);
|
||||||
|
|
||||||
return wayland_compositor_create(display, width, height, display_name,
|
return wayland_compositor_create(display, width, height, display_name,
|
||||||
argc, argv);
|
argc, argv, config_file);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -848,7 +848,7 @@ x11_destroy(struct weston_compositor *ec)
|
|||||||
static struct weston_compositor *
|
static struct weston_compositor *
|
||||||
x11_compositor_create(struct wl_display *display,
|
x11_compositor_create(struct wl_display *display,
|
||||||
int width, int height, int count, int fullscreen,
|
int width, int height, int count, int fullscreen,
|
||||||
int argc, char *argv[])
|
int argc, char *argv[], const char *config_file)
|
||||||
{
|
{
|
||||||
struct x11_compositor *c;
|
struct x11_compositor *c;
|
||||||
xcb_screen_iterator_t s;
|
xcb_screen_iterator_t s;
|
||||||
@@ -883,7 +883,8 @@ x11_compositor_create(struct wl_display *display,
|
|||||||
c->base.destroy = x11_destroy;
|
c->base.destroy = x11_destroy;
|
||||||
|
|
||||||
/* Can't init base class until we have a current egl context */
|
/* Can't init base class until we have a current egl context */
|
||||||
if (weston_compositor_init(&c->base, display, argc, argv) < 0)
|
if (weston_compositor_init(&c->base, display, argc, argv,
|
||||||
|
config_file) < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
for (i = 0, x = 0; i < count; i++) {
|
for (i = 0, x = 0; i < count; i++) {
|
||||||
@@ -907,7 +908,8 @@ x11_compositor_create(struct wl_display *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
WL_EXPORT struct weston_compositor *
|
WL_EXPORT struct weston_compositor *
|
||||||
backend_init(struct wl_display *display, int argc, char *argv[])
|
backend_init(struct wl_display *display, int argc, char *argv[],
|
||||||
|
const char *config_file)
|
||||||
{
|
{
|
||||||
int width = 1024, height = 640, fullscreen = 0, count = 1;
|
int width = 1024, height = 640, fullscreen = 0, count = 1;
|
||||||
|
|
||||||
@@ -922,5 +924,5 @@ backend_init(struct wl_display *display, int argc, char *argv[])
|
|||||||
|
|
||||||
return x11_compositor_create(display,
|
return x11_compositor_create(display,
|
||||||
width, height, count, fullscreen,
|
width, height, count, fullscreen,
|
||||||
argc, argv);
|
argc, argv, config_file);
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-5
@@ -2841,7 +2841,8 @@ WL_EXPORT int
|
|||||||
weston_compositor_init(struct weston_compositor *ec,
|
weston_compositor_init(struct weston_compositor *ec,
|
||||||
struct wl_display *display,
|
struct wl_display *display,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[])
|
char *argv[],
|
||||||
|
const char *config_file)
|
||||||
{
|
{
|
||||||
struct wl_event_loop *loop;
|
struct wl_event_loop *loop;
|
||||||
const char *extensions;
|
const char *extensions;
|
||||||
@@ -3041,7 +3042,7 @@ int main(int argc, char *argv[])
|
|||||||
int (*module_init)(struct weston_compositor *ec);
|
int (*module_init)(struct weston_compositor *ec);
|
||||||
struct weston_compositor
|
struct weston_compositor
|
||||||
*(*backend_init)(struct wl_display *display,
|
*(*backend_init)(struct wl_display *display,
|
||||||
int argc, char *argv[]);
|
int argc, char *argv[], const char *config_file);
|
||||||
int i;
|
int i;
|
||||||
char *backend = NULL;
|
char *backend = NULL;
|
||||||
char *shell = NULL;
|
char *shell = NULL;
|
||||||
@@ -3116,13 +3117,12 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
config_file = config_file_path("weston.ini");
|
config_file = config_file_path("weston.ini");
|
||||||
parse_config_file(config_file, cs, ARRAY_LENGTH(cs), shell);
|
parse_config_file(config_file, cs, ARRAY_LENGTH(cs), shell);
|
||||||
free(config_file);
|
|
||||||
|
|
||||||
backend_init = load_module(backend, "backend_init", &backend_module);
|
backend_init = load_module(backend, "backend_init", &backend_module);
|
||||||
if (!backend_init)
|
if (!backend_init)
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
|
||||||
ec = backend_init(display, argc, argv);
|
ec = backend_init(display, argc, argv, config_file);
|
||||||
if (ec == NULL) {
|
if (ec == NULL) {
|
||||||
fprintf(stderr, "failed to create compositor\n");
|
fprintf(stderr, "failed to create compositor\n");
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
@@ -3133,7 +3133,7 @@ int main(int argc, char *argv[])
|
|||||||
if (argv[1])
|
if (argv[1])
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
|
||||||
weston_compositor_xkb_init(ec, &xkb_names);
|
free(config_file);
|
||||||
|
|
||||||
ec->option_idle_time = idle_time;
|
ec->option_idle_time = idle_time;
|
||||||
ec->idle_time = idle_time;
|
ec->idle_time = idle_time;
|
||||||
|
|||||||
+3
-2
@@ -624,7 +624,7 @@ weston_compositor_get_time(void);
|
|||||||
|
|
||||||
int
|
int
|
||||||
weston_compositor_init(struct weston_compositor *ec, struct wl_display *display,
|
weston_compositor_init(struct weston_compositor *ec, struct wl_display *display,
|
||||||
int argc, char *argv[]);
|
int argc, char *argv[], const char *config_file);
|
||||||
void
|
void
|
||||||
weston_compositor_shutdown(struct weston_compositor *ec);
|
weston_compositor_shutdown(struct weston_compositor *ec);
|
||||||
void
|
void
|
||||||
@@ -722,7 +722,8 @@ void
|
|||||||
weston_surface_destroy(struct weston_surface *surface);
|
weston_surface_destroy(struct weston_surface *surface);
|
||||||
|
|
||||||
struct weston_compositor *
|
struct weston_compositor *
|
||||||
backend_init(struct wl_display *display, int argc, char *argv[]);
|
backend_init(struct wl_display *display, int argc, char *argv[],
|
||||||
|
const char *config_file);
|
||||||
|
|
||||||
int
|
int
|
||||||
weston_output_switch_mode(struct weston_output *output, struct weston_mode *mode);
|
weston_output_switch_mode(struct weston_output *output, struct weston_mode *mode);
|
||||||
|
|||||||
Reference in New Issue
Block a user