weston: store weston_compositor in wet_compositor
This makes it easier to just pass wet_compositor around and take the weston_compositor from it. It feels weird to go from weston_compositor to wet_compositor all the time in internal functions. It's necessary in callbacks that cannot carry wet_compositor, but otherwise it is awkward. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
+8
-5
@@ -77,6 +77,7 @@ struct wet_head_tracker {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct wet_compositor {
|
struct wet_compositor {
|
||||||
|
struct weston_compositor *compositor;
|
||||||
struct weston_config *config;
|
struct weston_config *config;
|
||||||
struct wet_output_config *parsed_options;
|
struct wet_output_config *parsed_options;
|
||||||
bool drm_use_current_mode;
|
bool drm_use_current_mode;
|
||||||
@@ -1089,9 +1090,8 @@ wet_head_tracker_create(struct wet_compositor *compositor,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
simple_head_enable(struct weston_compositor *compositor, struct weston_head *head)
|
simple_head_enable(struct wet_compositor *wet, struct weston_head *head)
|
||||||
{
|
{
|
||||||
struct wet_compositor *wet = to_wet_compositor(compositor);
|
|
||||||
struct weston_output *output;
|
struct weston_output *output;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
@@ -1101,7 +1101,8 @@ simple_head_enable(struct weston_compositor *compositor, struct weston_head *hea
|
|||||||
if (weston_head_get_output(head))
|
if (weston_head_get_output(head))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
output = weston_compositor_create_output_with_head(compositor, head);
|
output = weston_compositor_create_output_with_head(wet->compositor,
|
||||||
|
head);
|
||||||
if (!output) {
|
if (!output) {
|
||||||
weston_log("Could not create an output for head \"%s\".\n",
|
weston_log("Could not create an output for head \"%s\".\n",
|
||||||
weston_head_get_name(head));
|
weston_head_get_name(head));
|
||||||
@@ -1158,18 +1159,19 @@ static void
|
|||||||
simple_heads_changed(struct wl_listener *listener, void *arg)
|
simple_heads_changed(struct wl_listener *listener, void *arg)
|
||||||
{
|
{
|
||||||
struct weston_compositor *compositor = arg;
|
struct weston_compositor *compositor = arg;
|
||||||
|
struct wet_compositor *wet = to_wet_compositor(compositor);
|
||||||
struct weston_head *head = NULL;
|
struct weston_head *head = NULL;
|
||||||
bool connected;
|
bool connected;
|
||||||
bool enabled;
|
bool enabled;
|
||||||
bool changed;
|
bool changed;
|
||||||
|
|
||||||
while ((head = weston_compositor_iterate_heads(compositor, head))) {
|
while ((head = weston_compositor_iterate_heads(wet->compositor, head))) {
|
||||||
connected = weston_head_is_connected(head);
|
connected = weston_head_is_connected(head);
|
||||||
enabled = weston_head_is_enabled(head);
|
enabled = weston_head_is_enabled(head);
|
||||||
changed = weston_head_is_device_changed(head);
|
changed = weston_head_is_device_changed(head);
|
||||||
|
|
||||||
if (connected && !enabled) {
|
if (connected && !enabled) {
|
||||||
simple_head_enable(compositor, head);
|
simple_head_enable(wet, head);
|
||||||
} else if (!connected && enabled) {
|
} else if (!connected && enabled) {
|
||||||
simple_head_disable(head);
|
simple_head_disable(head);
|
||||||
} else if (enabled && changed) {
|
} else if (enabled && changed) {
|
||||||
@@ -1926,6 +1928,7 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
ec = weston_compositor_create(display, &user_data);
|
ec = weston_compositor_create(display, &user_data);
|
||||||
|
user_data.compositor = ec;
|
||||||
if (ec == NULL) {
|
if (ec == NULL) {
|
||||||
weston_log("fatal: failed to create compositor\n");
|
weston_log("fatal: failed to create compositor\n");
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
Reference in New Issue
Block a user