Replace fprintf() by weston_log()

dev
Martin Minarik 13 years ago committed by Kristian Høgsberg
parent 19e6f2693d
commit 6d11836721
  1. 1
      src/clipboard.c
  2. 18
      src/compositor-android.c
  3. 105
      src/compositor-drm.c
  4. 38
      src/compositor-openwfd.c
  5. 29
      src/compositor-wayland.c
  6. 22
      src/compositor-x11.c
  7. 67
      src/compositor.c
  8. 1
      src/evdev-touchpad.c
  9. 12
      src/evdev.c
  10. 1
      src/filter.c
  11. 15
      src/shell.c
  12. 9
      src/tablet-shell.c
  13. 33
      src/tty.c
  14. 30
      src/xwayland/launcher.c
  15. 50
      src/xwayland/selection.c
  16. 72
      src/xwayland/window-manager.c

@ -23,7 +23,6 @@
#define _GNU_SOURCE #define _GNU_SOURCE
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h>
#include <string.h> #include <string.h>
#include <linux/input.h> #include <linux/input.h>
#include <fcntl.h> #include <fcntl.h>

@ -96,7 +96,7 @@ print_egl_error_state(void)
EGLint code; EGLint code;
code = eglGetError(); code = eglGetError();
fprintf(stderr, "EGL error state: %s (0x%04lx)\n", weston_log("EGL error state: %s (0x%04lx)\n",
egl_error_string(code), (long)code); egl_error_string(code), (long)code);
} }
@ -113,7 +113,7 @@ android_output_make_current(struct android_output *output)
if (errored) if (errored)
return -1; return -1;
errored = 1; errored = 1;
fprintf(stderr, "Failed to make EGL context current.\n"); weston_log("Failed to make EGL context current.\n");
print_egl_error_state(); print_egl_error_state();
return -1; return -1;
} }
@ -151,7 +151,7 @@ android_output_repaint(struct weston_output *base, pixman_region32_t *damage)
ret = eglSwapBuffers(compositor->base.display, output->egl_surface); ret = eglSwapBuffers(compositor->base.display, output->egl_surface);
if (ret == EGL_FALSE && !errored) { if (ret == EGL_FALSE && !errored) {
errored = 1; errored = 1;
fprintf(stderr, "Failed in eglSwapBuffers.\n"); weston_log("Failed in eglSwapBuffers.\n");
print_egl_error_state(); print_egl_error_state();
} }
@ -325,27 +325,27 @@ android_init_egl(struct android_compositor *compositor,
compositor->base.display = eglGetDisplay(EGL_DEFAULT_DISPLAY); compositor->base.display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
if (compositor->base.display == EGL_NO_DISPLAY) { if (compositor->base.display == EGL_NO_DISPLAY) {
fprintf(stderr, "Failed to create EGL display.\n"); weston_log("Failed to create EGL display.\n");
print_egl_error_state(); print_egl_error_state();
return -1; return -1;
} }
ret = eglInitialize(compositor->base.display, &eglmajor, &eglminor); ret = eglInitialize(compositor->base.display, &eglmajor, &eglminor);
if (!ret) { if (!ret) {
fprintf(stderr, "Failed to initialise EGL.\n"); weston_log("Failed to initialise EGL.\n");
print_egl_error_state(); print_egl_error_state();
return -1; return -1;
} }
if (!eglBindAPI(EGL_OPENGL_ES_API)) { if (!eglBindAPI(EGL_OPENGL_ES_API)) {
fprintf(stderr, "Failed to bind EGL_OPENGL_ES_API.\n"); weston_log("Failed to bind EGL_OPENGL_ES_API.\n");
print_egl_error_state(); print_egl_error_state();
return -1; return -1;
} }
ret = android_egl_choose_config(compositor, output->fb, config_attrs); ret = android_egl_choose_config(compositor, output->fb, config_attrs);
if (ret < 0) { if (ret < 0) {
fprintf(stderr, "Failed to find an EGL config.\n"); weston_log("Failed to find an EGL config.\n");
print_egl_error_state(); print_egl_error_state();
return -1; return -1;
} }
@ -355,7 +355,7 @@ android_init_egl(struct android_compositor *compositor,
EGL_NO_CONTEXT, EGL_NO_CONTEXT,
context_attrs); context_attrs);
if (compositor->base.context == EGL_NO_CONTEXT) { if (compositor->base.context == EGL_NO_CONTEXT) {
fprintf(stderr, "Failed to create a GL ES 2 context.\n"); weston_log("Failed to create a GL ES 2 context.\n");
print_egl_error_state(); print_egl_error_state();
return -1; return -1;
} }
@ -365,7 +365,7 @@ android_init_egl(struct android_compositor *compositor,
output->fb->native_window, output->fb->native_window,
NULL); NULL);
if (output->egl_surface == EGL_NO_SURFACE) { if (output->egl_surface == EGL_NO_SURFACE) {
fprintf(stderr, "Failed to create FB EGLSurface.\n"); weston_log("Failed to create FB EGLSurface.\n");
print_egl_error_state(); print_egl_error_state();
return -1; return -1;
} }

@ -24,7 +24,6 @@
#define _GNU_SOURCE #define _GNU_SOURCE
#include <errno.h> #include <errno.h>
#include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <fcntl.h> #include <fcntl.h>
@ -41,6 +40,7 @@
#include "compositor.h" #include "compositor.h"
#include "evdev.h" #include "evdev.h"
#include "launcher-util.h" #include "launcher-util.h"
#include "log.h"
struct drm_compositor { struct drm_compositor {
struct weston_compositor base; struct weston_compositor base;
@ -206,7 +206,7 @@ drm_fb_get_from_bo(struct gbm_bo *bo, struct drm_output *output)
ret = drmModeAddFB(compositor->drm.fd, width, height, 24, 32, ret = drmModeAddFB(compositor->drm.fd, width, height, 24, 32,
stride, handle, &fb->fb_id); stride, handle, &fb->fb_id);
if (ret) { if (ret) {
fprintf(stderr, "failed to create kms fb: %m\n"); weston_log("failed to create kms fb: %m\n");
free(fb); free(fb);
return NULL; return NULL;
} }
@ -292,7 +292,7 @@ drm_output_render(struct drm_output *output, pixman_region32_t *damage)
if (!eglMakeCurrent(compositor->base.display, output->egl_surface, if (!eglMakeCurrent(compositor->base.display, output->egl_surface,
output->egl_surface, compositor->base.context)) { output->egl_surface, compositor->base.context)) {
fprintf(stderr, "failed to make current\n"); weston_log("failed to make current\n");
return; return;
} }
@ -304,13 +304,13 @@ drm_output_render(struct drm_output *output, pixman_region32_t *damage)
eglSwapBuffers(compositor->base.display, output->egl_surface); eglSwapBuffers(compositor->base.display, output->egl_surface);
bo = gbm_surface_lock_front_buffer(output->surface); bo = gbm_surface_lock_front_buffer(output->surface);
if (!bo) { if (!bo) {
fprintf(stderr, "failed to lock front buffer: %m\n"); weston_log("failed to lock front buffer: %m\n");
return; return;
} }
output->next = drm_fb_get_from_bo(bo, output); output->next = drm_fb_get_from_bo(bo, output);
if (!output->next) { if (!output->next) {
fprintf(stderr, "failed to get drm_fb for bo\n"); weston_log("failed to get drm_fb for bo\n");
gbm_surface_release_buffer(output->surface, bo); gbm_surface_release_buffer(output->surface, bo);
return; return;
} }
@ -340,7 +340,7 @@ drm_output_repaint(struct weston_output *output_base,
&output->connector_id, 1, &output->connector_id, 1,
&mode->mode_info); &mode->mode_info);
if (ret) { if (ret) {
fprintf(stderr, "set mode failed: %m\n"); weston_log("set mode failed: %m\n");
return; return;
} }
} }
@ -348,7 +348,7 @@ drm_output_repaint(struct weston_output *output_base,
if (drmModePageFlip(compositor->drm.fd, output->crtc_id, if (drmModePageFlip(compositor->drm.fd, output->crtc_id,
output->next->fb_id, output->next->fb_id,
DRM_MODE_PAGE_FLIP_EVENT, output) < 0) { DRM_MODE_PAGE_FLIP_EVENT, output) < 0) {
fprintf(stderr, "queueing pageflip failed: %m\n"); weston_log("queueing pageflip failed: %m\n");
return; return;
} }
@ -372,7 +372,7 @@ drm_output_repaint(struct weston_output *output_base,
s->src_x, s->src_y, s->src_x, s->src_y,
s->src_w, s->src_h); s->src_w, s->src_h);
if (ret) if (ret)
fprintf(stderr, "setplane failed: %d: %s\n", weston_log("setplane failed: %d: %s\n",
ret, strerror(errno)); ret, strerror(errno));
/* /*
@ -382,7 +382,7 @@ drm_output_repaint(struct weston_output *output_base,
vbl.request.signal = (unsigned long)s; vbl.request.signal = (unsigned long)s;
ret = drmWaitVBlank(compositor->drm.fd, &vbl); ret = drmWaitVBlank(compositor->drm.fd, &vbl);
if (ret) { if (ret) {
fprintf(stderr, "vblank event request failed: %d: %s\n", weston_log("vblank event request failed: %d: %s\n",
ret, strerror(errno)); ret, strerror(errno));
} }
} }
@ -488,8 +488,7 @@ drm_disable_unused_sprites(struct weston_output *output_base)
output->crtc_id, 0, 0, output->crtc_id, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0); 0, 0, 0, 0, 0, 0, 0, 0);
if (ret) if (ret)
fprintf(stderr, weston_log("failed to disable plane: %d: %s\n",
"failed to disable plane: %d: %s\n",
ret, strerror(errno)); ret, strerror(errno));
drmModeRmFB(c->drm.fd, s->fb_id); drmModeRmFB(c->drm.fd, s->fb_id);
s->surface = NULL; s->surface = NULL;
@ -574,7 +573,7 @@ drm_output_prepare_overlay_surface(struct weston_output *output_base,
format, handles, pitches, offsets, format, handles, pitches, offsets,
&fb_id, 0); &fb_id, 0);
if (ret) { if (ret) {
fprintf(stderr, "addfb2 failed: %d\n", ret); weston_log("addfb2 failed: %d\n", ret);
c->sprites_are_broken = 1; c->sprites_are_broken = 1;
return -1; return -1;
} }
@ -769,7 +768,7 @@ drm_output_set_cursor(struct weston_output *output_base,
handle = gbm_bo_get_handle(bo).s32; handle = gbm_bo_get_handle(bo).s32;
ret = drmModeSetCursor(c->drm.fd, output->crtc_id, handle, 64, 64); ret = drmModeSetCursor(c->drm.fd, output->crtc_id, handle, 64, 64);
if (ret) { if (ret) {
fprintf(stderr, "failed to set cursor: %s\n", strerror(-ret)); weston_log("failed to set cursor: %s\n", strerror(-ret));
goto out; goto out;
} }
@ -777,7 +776,7 @@ drm_output_set_cursor(struct weston_output *output_base,
es->sprite->geometry.x - output->base.x, es->sprite->geometry.x - output->base.x,
es->sprite->geometry.y - output->base.y); es->sprite->geometry.y - output->base.y);
if (ret) { if (ret) {
fprintf(stderr, "failed to move cursor: %s\n", strerror(-ret)); weston_log("failed to move cursor: %s\n", strerror(-ret));
goto out; goto out;
} }
@ -855,12 +854,12 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
EGLSurface egl_surface; EGLSurface egl_surface;
if (output_base == NULL) { if (output_base == NULL) {
fprintf(stderr, "output is NULL.\n"); weston_log("output is NULL.\n");
return -1; return -1;
} }
if (mode == NULL) { if (mode == NULL) {
fprintf(stderr, "mode is NULL.\n"); weston_log("mode is NULL.\n");
return -1; return -1;
} }
@ -869,7 +868,7 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
drm_mode = choose_mode (output, mode); drm_mode = choose_mode (output, mode);
if (!drm_mode) { if (!drm_mode) {
printf("%s, invalid resolution:%dx%d\n", __func__, mode->width, mode->height); weston_log("%s, invalid resolution:%dx%d\n", __func__, mode->width, mode->height);
return -1; return -1;
} else if (&drm_mode->base == output->base.current) { } else if (&drm_mode->base == output->base.current) {
return 0; return 0;
@ -882,7 +881,7 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
&output->connector_id, 1, &drm_mode->mode_info); &output->connector_id, 1, &drm_mode->mode_info);
if (ret) { if (ret) {
fprintf(stderr, "failed to set mode (%dx%d) %u Hz\n", weston_log("failed to set mode (%dx%d) %u Hz\n",
drm_mode->base.width, drm_mode->base.width,
drm_mode->base.height, drm_mode->base.height,
drm_mode->base.refresh / 1000); drm_mode->base.refresh / 1000);
@ -908,7 +907,7 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
GBM_BO_USE_SCANOUT | GBM_BO_USE_SCANOUT |
GBM_BO_USE_RENDERING); GBM_BO_USE_RENDERING);
if (!surface) { if (!surface) {
fprintf(stderr, "failed to create gbm surface\n"); weston_log("failed to create gbm surface\n");
return -1; return -1;
} }
@ -918,7 +917,7 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
surface, NULL); surface, NULL);
if (egl_surface == EGL_NO_SURFACE) { if (egl_surface == EGL_NO_SURFACE) {
fprintf(stderr, "failed to create egl surface\n"); weston_log("failed to create egl surface\n");
goto err; goto err;
} }
@ -927,7 +926,7 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
output->current->fb_id, 0, 0, output->current->fb_id, 0, 0,
&output->connector_id, 1, &drm_mode->mode_info); &output->connector_id, 1, &drm_mode->mode_info);
if (ret) { if (ret) {
fprintf(stderr, "failed to set mode\n"); weston_log("failed to set mode\n");
goto err; goto err;
} }
@ -1006,7 +1005,7 @@ init_egl(struct drm_compositor *ec, struct udev_device *device)
if (sysnum) if (sysnum)
ec->drm.id = atoi(sysnum); ec->drm.id = atoi(sysnum);
if (!sysnum || ec->drm.id < 0) { if (!sysnum || ec->drm.id < 0) {
fprintf(stderr, "cannot get device sysnum\n"); weston_log("cannot get device sysnum\n");
return -1; return -1;
} }
@ -1014,7 +1013,7 @@ init_egl(struct drm_compositor *ec, struct udev_device *device)
fd = open(filename, O_RDWR | O_CLOEXEC); fd = open(filename, O_RDWR | O_CLOEXEC);
if (fd < 0) { if (fd < 0) {
/* Probably permissions error */ /* Probably permissions error */
fprintf(stderr, "couldn't open %s, skipping\n", weston_log("couldn't open %s, skipping\n",
udev_device_get_devnode(device)); udev_device_get_devnode(device));
return -1; return -1;
} }
@ -1023,30 +1022,30 @@ init_egl(struct drm_compositor *ec, struct udev_device *device)
ec->gbm = gbm_create_device(ec->drm.fd); ec->gbm = gbm_create_device(ec->drm.fd);
ec->base.display = eglGetDisplay(ec->gbm); ec->base.display = eglGetDisplay(ec->gbm);
if (ec->base.display == NULL) { if (ec->base.display == NULL) {
fprintf(stderr, "failed to create display\n"); weston_log("failed to create display\n");
return -1; return -1;
} }
if (!eglInitialize(ec->base.display, &major, &minor)) { if (!eglInitialize(ec->base.display, &major, &minor)) {
fprintf(stderr, "failed to initialize display\n"); weston_log("failed to initialize display\n");
return -1; return -1;
} }
if (!eglBindAPI(EGL_OPENGL_ES_API)) { if (!eglBindAPI(EGL_OPENGL_ES_API)) {
fprintf(stderr, "failed to bind api EGL_OPENGL_ES_API\n"); weston_log("failed to bind api EGL_OPENGL_ES_API\n");
return -1; return -1;
} }
if (!eglChooseConfig(ec->base.display, config_attribs, if (!eglChooseConfig(ec->base.display, config_attribs,
&ec->base.config, 1, &n) || n != 1) { &ec->base.config, 1, &n) || n != 1) {
fprintf(stderr, "failed to choose config: %d\n", n); weston_log("failed to choose config: %d\n", n);
return -1; return -1;
} }
ec->base.context = eglCreateContext(ec->base.display, ec->base.config, ec->base.context = eglCreateContext(ec->base.display, ec->base.config,
EGL_NO_CONTEXT, context_attribs); EGL_NO_CONTEXT, context_attribs);
if (ec->base.context == NULL) { if (ec->base.context == NULL) {
fprintf(stderr, "failed to create context\n"); weston_log("failed to create context\n");
return -1; return -1;
} }
@ -1054,7 +1053,7 @@ init_egl(struct drm_compositor *ec, struct udev_device *device)
GBM_FORMAT_XRGB8888, GBM_FORMAT_XRGB8888,
GBM_BO_USE_RENDERING); GBM_BO_USE_RENDERING);
if (!ec->dummy_surface) { if (!ec->dummy_surface) {
fprintf(stderr, "failed to create dummy gbm surface\n"); weston_log("failed to create dummy gbm surface\n");
return -1; return -1;
} }
@ -1062,13 +1061,13 @@ init_egl(struct drm_compositor *ec, struct udev_device *device)
eglCreateWindowSurface(ec->base.display, ec->base.config, eglCreateWindowSurface(ec->base.display, ec->base.config,
ec->dummy_surface, NULL); ec->dummy_surface, NULL);
if (ec->dummy_egl_surface == EGL_NO_SURFACE) { if (ec->dummy_egl_surface == EGL_NO_SURFACE) {
fprintf(stderr, "failed to create egl surface\n"); weston_log("failed to create egl surface\n");
return -1; return -1;
} }
if (!eglMakeCurrent(ec->base.display, ec->dummy_egl_surface, if (!eglMakeCurrent(ec->base.display, ec->dummy_egl_surface,
ec->dummy_egl_surface, ec->base.context)) { ec->dummy_egl_surface, ec->base.context)) {
fprintf(stderr, "failed to make context current\n"); weston_log("failed to make context current\n");
return -1; return -1;
} }
@ -1252,7 +1251,7 @@ create_output_for_connector(struct drm_compositor *ec,
encoder = drmModeGetEncoder(ec->drm.fd, connector->encoders[0]); encoder = drmModeGetEncoder(ec->drm.fd, connector->encoders[0]);
if (encoder == NULL) { if (encoder == NULL) {
fprintf(stderr, "No encoder for connector.\n"); weston_log("No encoder for connector.\n");
return -1; return -1;
} }
@ -1262,7 +1261,7 @@ create_output_for_connector(struct drm_compositor *ec,
break; break;
} }
if (i == resources->count_crtcs) { if (i == resources->count_crtcs) {
fprintf(stderr, "No usable crtc for encoder.\n"); weston_log("No usable crtc for encoder.\n");
drmModeFreeEncoder(encoder); drmModeFreeEncoder(encoder);
return -1; return -1;
} }
@ -1312,7 +1311,7 @@ create_output_for_connector(struct drm_compositor *ec,
GBM_BO_USE_SCANOUT | GBM_BO_USE_SCANOUT |
GBM_BO_USE_RENDERING); GBM_BO_USE_RENDERING);
if (!output->surface) { if (!output->surface) {
fprintf(stderr, "failed to create gbm surface\n"); weston_log("failed to create gbm surface\n");
goto err_free; goto err_free;
} }
@ -1320,7 +1319,7 @@ create_output_for_connector(struct drm_compositor *ec,
eglCreateWindowSurface(ec->base.display, ec->base.config, eglCreateWindowSurface(ec->base.display, ec->base.config,
output->surface, NULL); output->surface, NULL);
if (output->egl_surface == EGL_NO_SURFACE) { if (output->egl_surface == EGL_NO_SURFACE) {
fprintf(stderr, "failed to create egl surface\n"); weston_log("failed to create egl surface\n");
goto err_surface; goto err_surface;
} }
@ -1380,7 +1379,7 @@ create_sprites(struct drm_compositor *ec)
plane_res = drmModeGetPlaneResources(ec->drm.fd); plane_res = drmModeGetPlaneResources(ec->drm.fd);
if (!plane_res) { if (!plane_res) {
fprintf(stderr, "failed to get plane resources: %s\n", weston_log("failed to get plane resources: %s\n",
strerror(errno)); strerror(errno));
return; return;
} }
@ -1393,7 +1392,7 @@ create_sprites(struct drm_compositor *ec)
sprite = malloc(sizeof(*sprite) + ((sizeof(uint32_t)) * sprite = malloc(sizeof(*sprite) + ((sizeof(uint32_t)) *
plane->count_formats)); plane->count_formats));
if (!sprite) { if (!sprite) {
fprintf(stderr, "%s: out of memory\n", weston_log("%s: out of memory\n",
__func__); __func__);
free(plane); free(plane);
continue; continue;
@ -1453,7 +1452,7 @@ create_outputs(struct drm_compositor *ec, uint32_t option_connector,
resources = drmModeGetResources(ec->drm.fd); resources = drmModeGetResources(ec->drm.fd);
if (!resources) { if (!resources) {
fprintf(stderr, "drmModeGetResources failed\n"); weston_log("drmModeGetResources failed\n");
return -1; return -1;
} }
@ -1491,7 +1490,7 @@ create_outputs(struct drm_compositor *ec, uint32_t option_connector,
} }
if (wl_list_empty(&ec->base.output_list)) { if (wl_list_empty(&ec->base.output_list)) {
fprintf(stderr, "No currently active connector found.\n"); weston_log("No currently active connector found.\n");
drmModeFreeResources(resources); drmModeFreeResources(resources);
return -1; return -1;
} }
@ -1514,7 +1513,7 @@ update_outputs(struct drm_compositor *ec, struct udev_device *drm_device)
resources = drmModeGetResources(ec->drm.fd); resources = drmModeGetResources(ec->drm.fd);
if (!resources) { if (!resources) {
fprintf(stderr, "drmModeGetResources failed\n"); weston_log("drmModeGetResources failed\n");
return; return;
} }
@ -1547,7 +1546,7 @@ update_outputs(struct drm_compositor *ec, struct udev_device *drm_device)
create_output_for_connector(ec, resources, create_output_for_connector(ec, resources,
connector, x, y, connector, x, y,
drm_device); drm_device);
printf("connector %d connected\n", connector_id); weston_log("connector %d connected\n", connector_id);
} }
drmModeFreeConnector(connector); drmModeFreeConnector(connector);
@ -1566,7 +1565,7 @@ update_outputs(struct drm_compositor *ec, struct udev_device *drm_device)
if (disconnects & (1 << output->connector_id)) { if (disconnects & (1 << output->connector_id)) {
disconnects &= ~(1 << output->connector_id); disconnects &= ~(1 << output->connector_id);
printf("connector %d disconnected\n", weston_log("connector %d disconnected\n",
output->connector_id); output->connector_id);
x_offset += output->base.current->width; x_offset += output->base.current->width;
drm_output_destroy(&output->base); drm_output_destroy(&output->base);
@ -1635,7 +1634,7 @@ drm_destroy(struct weston_compositor *ec)
gbm_device_destroy(d->gbm); gbm_device_destroy(d->gbm);
destroy_sprites(d); destroy_sprites(d);
if (weston_launcher_drm_set_master(&d->base, d->drm.fd, 0) < 0) if (weston_launcher_drm_set_master(&d->base, d->drm.fd, 0) < 0)
fprintf(stderr, "failed to drop master: %m\n"); weston_log("failed to drop master: %m\n");
tty_destroy(d->tty); tty_destroy(d->tty);
free(d); free(d);
@ -1655,7 +1654,7 @@ drm_compositor_set_modes(struct drm_compositor *compositor)
&output->connector_id, 1, &output->connector_id, 1,
&drm_mode->mode_info); &drm_mode->mode_info);
if (ret < 0) { if (ret < 0) {
fprintf(stderr, weston_log(
"failed to set mode %dx%d for output at %d,%d: %m\n", "failed to set mode %dx%d for output at %d,%d: %m\n",
drm_mode->base.width, drm_mode->base.height, drm_mode->base.width, drm_mode->base.height,
output->base.x, output->base.y); output->base.x, output->base.y);
@ -1676,7 +1675,7 @@ vt_func(struct weston_compositor *compositor, int event)
case TTY_ENTER_VT: case TTY_ENTER_VT:
compositor->focus = 1; compositor->focus = 1;
if (weston_launcher_drm_set_master(&ec->base, ec->drm.fd, 1)) { if (weston_launcher_drm_set_master(&ec->base, ec->drm.fd, 1)) {
fprintf(stderr, "failed to set master: %m\n"); weston_log("failed to set master: %m\n");
wl_display_terminate(compositor->wl_display); wl_display_terminate(compositor->wl_display);
} }
compositor->state = ec->prev_state; compositor->state = ec->prev_state;
@ -1720,7 +1719,7 @@ vt_func(struct weston_compositor *compositor, int event)
0, 0, 0, 0, 0, 0, 0, 0); 0, 0, 0, 0, 0, 0, 0, 0);
if (weston_launcher_drm_set_master(&ec->base, ec->drm.fd, 0) < 0) if (weston_launcher_drm_set_master(&ec->base, ec->drm.fd, 0) < 0)
fprintf(stderr, "failed to drop master: %m\n"); weston_log("failed to drop master: %m\n");
break; break;
}; };
@ -1756,14 +1755,14 @@ drm_compositor_create(struct wl_display *display,
memset(ec, 0, sizeof *ec); memset(ec, 0, sizeof *ec);
ec->udev = udev_new(); ec->udev = udev_new();
if (ec->udev == NULL) { if (ec->udev == NULL) {
fprintf(stderr, "failed to initialize udev context\n"); weston_log("failed to initialize udev context\n");
return NULL; return NULL;
} }
ec->base.wl_display = display; ec->base.wl_display = display;
ec->tty = tty_create(&ec->base, vt_func, tty); ec->tty = tty_create(&ec->base, vt_func, tty);
if (!ec->tty) { if (!ec->tty) {
fprintf(stderr, "failed to initialize tty\n"); weston_log("failed to initialize tty\n");
free(ec); free(ec);
return NULL; return NULL;
} }
@ -1789,12 +1788,12 @@ drm_compositor_create(struct wl_display *display,
} }
if (drm_device == NULL) { if (drm_device == NULL) {
fprintf(stderr, "no drm device found\n"); weston_log("no drm device found\n");
return NULL; return NULL;
} }
if (init_egl(ec, drm_device) < 0) { if (init_egl(ec, drm_device) < 0) {
fprintf(stderr, "failed to initialize egl\n"); weston_log("failed to initialize egl\n");
return NULL; return NULL;
} }
@ -1818,7 +1817,7 @@ drm_compositor_create(struct wl_display *display,
create_sprites(ec); create_sprites(ec);
if (create_outputs(ec, connector, drm_device) < 0) { if (create_outputs(ec, connector, drm_device) < 0) {
fprintf(stderr, "failed to create output for %s\n", path); weston_log("failed to create output for %s\n", path);
return NULL; return NULL;
} }
@ -1835,7 +1834,7 @@ drm_compositor_create(struct wl_display *display,
ec->udev_monitor = udev_monitor_new_from_netlink(ec->udev, "udev"); ec->udev_monitor = udev_monitor_new_from_netlink(ec->udev, "udev");
if (ec->udev_monitor == NULL) { if (ec->udev_monitor == NULL) {
fprintf(stderr, "failed to intialize udev monitor\n"); weston_log("failed to intialize udev monitor\n");
return NULL; return NULL;
} }
udev_monitor_filter_add_match_subsystem_devtype(ec->udev_monitor, udev_monitor_filter_add_match_subsystem_devtype(ec->udev_monitor,
@ -1846,7 +1845,7 @@ drm_compositor_create(struct wl_display *display,
WL_EVENT_READABLE, udev_drm_event, ec); WL_EVENT_READABLE, udev_drm_event, ec);
if (udev_monitor_enable_receiving(ec->udev_monitor) < 0) { if (udev_monitor_enable_receiving(ec->udev_monitor) < 0) {
fprintf(stderr, "failed to enable udev-monitor receiving\n"); weston_log("failed to enable udev-monitor receiving\n");
return NULL; return NULL;
} }

@ -23,7 +23,6 @@
#define _GNU_SOURCE #define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -36,6 +35,7 @@
#include "compositor.h" #include "compositor.h"
#include "evdev.h" #include "evdev.h"
#include "log.h"
struct wfd_compositor { struct wfd_compositor {
struct weston_compositor base; struct weston_compositor base;
@ -137,36 +137,36 @@ init_egl(struct wfd_compositor *ec)
ec->gbm = gbm_create_device(ec->wfd_fd); ec->gbm = gbm_create_device(ec->wfd_fd);
ec->base.display = eglGetDisplay(ec->gbm); ec->base.display = eglGetDisplay(ec->gbm);
if (ec->base.display == NULL) { if (ec->base.display == NULL) {
fprintf(stderr, "failed to create display\n"); weston_log("failed to create display\n");
return -1; return -1;
} }
if (!eglInitialize(ec->base.display, &major, &minor)) { if (!eglInitialize(ec->base.display, &major, &minor)) {
fprintf(stderr, "failed to initialize display\n"); weston_log("failed to initialize display\n");
return -1; return -1;
} }
extensions = eglQueryString(ec->base.display, EGL_EXTENSIONS); extensions = eglQueryString(ec->base.display, EGL_EXTENSIONS);
if (!strstr(extensions, "EGL_KHR_surfaceless_gles2")) { if (!strstr(extensions, "EGL_KHR_surfaceless_gles2")) {
fprintf(stderr, "EGL_KHR_surfaceless_gles2 not available\n"); weston_log("EGL_KHR_surfaceless_gles2 not available\n");
return -1; return -1;
} }
if (!eglBindAPI(EGL_OPENGL_ES_API)) { if (!eglBindAPI(EGL_OPENGL_ES_API)) {
fprintf(stderr, "failed to bind api EGL_OPENGL_ES_API\n"); weston_log("failed to bind api EGL_OPENGL_ES_API\n");
return -1; return -1;
} }
ec->base.context = eglCreateContext(ec->base.display, NULL, ec->base.context = eglCreateContext(ec->base.display, NULL,
EGL_NO_CONTEXT, context_attribs); EGL_NO_CONTEXT, context_attribs);
if (ec->base.context == NULL) { if (ec->base.context == NULL) {
fprintf(stderr, "failed to create context\n"); weston_log("failed to create context\n");
return -1; return -1;
} }
if (!eglMakeCurrent(ec->base.display, EGL_NO_SURFACE, if (!eglMakeCurrent(ec->base.display, EGL_NO_SURFACE,
EGL_NO_SURFACE, ec->base.context)) { EGL_NO_SURFACE, ec->base.context)) {
fprintf(stderr, "failed to make context current\n"); weston_log("failed to make context current\n");
return -1; return -1;
} }
@ -272,7 +272,7 @@ create_output_for_port(struct wfd_compositor *ec,
num_modes = wfdGetPortModes(ec->dev, output->port, NULL, 0); num_modes = wfdGetPortModes(ec->dev, output->port, NULL, 0);
if (num_modes < 1) { if (num_modes < 1) {
fprintf(stderr, "failed to get port mode\n"); weston_log("failed to get port mode\n");
goto cleanup_port; goto cleanup_port;
} }
@ -300,7 +300,7 @@ create_output_for_port(struct wfd_compositor *ec,
} }
} }
if (output->base.current == NULL) { if (output->base.current == NULL) {
fprintf(stderr, "failed to find a native mode\n"); weston_log("failed to find a native mode\n");
goto cleanup_port; goto cleanup_port;
} }
@ -314,7 +314,7 @@ create_output_for_port(struct wfd_compositor *ec,
num_pipelines = wfdGetPortAttribi(ec->dev, output->port, num_pipelines = wfdGetPortAttribi(ec->dev, output->port,
WFD_PORT_PIPELINE_ID_COUNT); WFD_PORT_PIPELINE_ID_COUNT);
if (num_pipelines < 1) { if (num_pipelines < 1) {
fprintf(stderr, "failed to get a bindable pipeline\n"); weston_log("failed to get a bindable pipeline\n");
goto cleanup_port; goto cleanup_port;
} }
pipelines = calloc(num_pipelines, sizeof *pipelines); pipelines = calloc(num_pipelines, sizeof *pipelines);
@ -333,7 +333,7 @@ create_output_for_port(struct wfd_compositor *ec,
} }
} }
if (output->pipeline_id == WFD_INVALID_PIPELINE_ID) { if (output->pipeline_id == WFD_INVALID_PIPELINE_ID) {
fprintf(stderr, "no pipeline found for port: %d\n", port); weston_log("no pipeline found for port: %d\n", port);
goto cleanup_pipelines; goto cleanup_pipelines;
} }
@ -348,7 +348,7 @@ create_output_for_port(struct wfd_compositor *ec,
output->pipeline = wfdCreatePipeline(ec->dev, output->pipeline_id, NULL); output->pipeline = wfdCreatePipeline(ec->dev, output->pipeline_id, NULL);
if (output->pipeline == WFD_INVALID_HANDLE) { if (output->pipeline == WFD_INVALID_HANDLE) {
fprintf(stderr, "failed to create a pipeline\n"); weston_log("failed to create a pipeline\n");
goto cleanup_weston_output; goto cleanup_weston_output;
} }
@ -367,7 +367,7 @@ create_output_for_port(struct wfd_compositor *ec,
EGL_NATIVE_PIXMAP_KHR, EGL_NATIVE_PIXMAP_KHR,
output->bo[i], NULL); output->bo[i], NULL);
printf("output->image[i]: %p\n", output->image[i]); weston_log("output->image[i]: %p\n", output->image[i]);
ec->base.image_target_renderbuffer_storage(GL_RENDERBUFFER, ec->base.image_target_renderbuffer_storage(GL_RENDERBUFFER,
output->image[i]); output->image[i]);
output->source[i] = output->source[i] =
@ -375,7 +375,7 @@ create_output_for_port(struct wfd_compositor *ec,
output->image[i], NULL); output->image[i], NULL);
if (output->source[i] == WFD_INVALID_HANDLE) { if (output->source[i] == WFD_INVALID_HANDLE) {
fprintf(stderr, "failed to create source\n"); weston_log("failed to create source\n");
goto cleanup_pipeline; goto cleanup_pipeline;
} }
} }
@ -616,25 +616,25 @@ wfd_compositor_create(struct wl_display *display,
ec->udev = udev_new(); ec->udev = udev_new();
if (ec->udev == NULL) { if (ec->udev == NULL) {
fprintf(stderr, "failed to initialize udev context\n"); weston_log("failed to initialize udev context\n");
return NULL; return NULL;
} }
ec->dev = wfdCreateDevice(WFD_DEFAULT_DEVICE_ID, NULL); ec->dev = wfdCreateDevice(WFD_DEFAULT_DEVICE_ID, NULL);
if (ec->dev == WFD_INVALID_HANDLE) { if (ec->dev == WFD_INVALID_HANDLE) {
fprintf(stderr, "failed to create wfd device\n"); weston_log("failed to create wfd device\n");
return NULL; return NULL;
} }
ec->event = wfdCreateEvent(ec->dev, NULL); ec->event = wfdCreateEvent(ec->dev, NULL);
if (ec->event == WFD_INVALID_HANDLE) { if (ec->event == WFD_INVALID_HANDLE) {
fprintf(stderr, "failed to create wfd event\n"); weston_log("failed to create wfd event\n");
return NULL; return NULL;
} }
ec->base.wl_display = display; ec->base.wl_display = display;
if (init_egl(ec) < 0) { if (init_egl(ec) < 0) {
fprintf(stderr, "failed to initialize egl\n"); weston_log("failed to initialize egl\n");
return NULL; return NULL;
} }
@ -649,7 +649,7 @@ wfd_compositor_create(struct wl_display *display,
return NULL; return NULL;
if (create_outputs(ec, connector) < 0) { if (create_outputs(ec, connector) < 0) {
fprintf(stderr, "failed to create outputs\n"); weston_log("failed to create outputs\n");
return NULL; return NULL;
} }

@ -42,6 +42,7 @@
#include <EGL/eglext.h> #include <EGL/eglext.h>
#include "compositor.h" #include "compositor.h"
#include "log.h"
struct wayland_compositor { struct wayland_compositor {
struct weston_compositor base; struct weston_compositor base;
@ -217,7 +218,7 @@ create_border(struct wayland_compositor *c)
image = load_image(DATADIR "/weston/border.png"); image = load_image(DATADIR "/weston/border.png");
if (!image) { if (!image) {
fprintf(stderr, "could'nt load border image\n"); weston_log("could'nt load border image\n");
return; return;
} }
@ -266,35 +267,35 @@ wayland_compositor_init_egl(struct wayland_compositor *c)
c->base.display = eglGetDisplay(c->parent.display); c->base.display = eglGetDisplay(c->parent.display);
if (c->base.display == NULL) { if (c->base.display == NULL) {
fprintf(stderr, "failed to create display\n"); weston_log("failed to create display\n");
return -1; return -1;
} }
if (!eglInitialize(c->base.display, &major, &minor)) { if (!eglInitialize(c->base.display, &major, &minor)) {
fprintf(stderr, "failed to initialize display\n"); weston_log("failed to initialize display\n");
return -1; return -1;
} }
if (!eglBindAPI(EGL_OPENGL_ES_API)) { if (!eglBindAPI(EGL_OPENGL_ES_API)) {
fprintf(stderr, "failed to bind EGL_OPENGL_ES_API\n"); weston_log("failed to bind EGL_OPENGL_ES_API\n");
return -1; return -1;
} }
if (!eglChooseConfig(c->base.display, config_attribs, if (!eglChooseConfig(c->base.display, config_attribs,
&c->base.config, 1, &n) || n == 0) { &c->base.config, 1, &n) || n == 0) {
fprintf(stderr, "failed to choose config: %d\n", n); weston_log("failed to choose config: %d\n", n);
return -1; return -1;
} }
c->base.context = eglCreateContext(c->base.display, c->base.config, c->base.context = eglCreateContext(c->base.display, c->base.config,
EGL_NO_CONTEXT, context_attribs); EGL_NO_CONTEXT, context_attribs);
if (c->base.context == NULL) { if (c->base.context == NULL) {
fprintf(stderr, "failed to create context\n"); weston_log("failed to create context\n");
return -1; return -1;
} }
c->dummy_pixmap = wl_egl_pixmap_create(10, 10, 0); c->dummy_pixmap = wl_egl_pixmap_create(10, 10, 0);
if (!c->dummy_pixmap) { if (!c->dummy_pixmap) {
fprintf(stderr, "failure to create dummy_pixmap\n"); weston_log("failure to create dummy_pixmap\n");
return -1; return -1;
} }
@ -303,7 +304,7 @@ wayland_compositor_init_egl(struct wayland_compositor *c)
c->dummy_pixmap, NULL); c->dummy_pixmap, NULL);
if (!eglMakeCurrent(c->base.display, c->dummy_egl_surface, if (!eglMakeCurrent(c->base.display, c->dummy_egl_surface,
c->dummy_egl_surface, c->base.context)) { c->dummy_egl_surface, c->base.context)) {
fprintf(stderr, "failed to make context current\n"); weston_log("failed to make context current\n");
return -1; return -1;
} }
@ -335,7 +336,7 @@ wayland_output_repaint(struct weston_output *output_base,
if (!eglMakeCurrent(compositor->base.display, output->egl_surface, if (!eglMakeCurrent(compositor->base.display, output->egl_surface,
output->egl_surface, compositor->base.context)) { output->egl_surface, compositor->base.context)) {
fprintf(stderr, "failed to make current\n"); weston_log("failed to make current\n");
return; return;
} }
@ -405,7 +406,7 @@ wayland_compositor_create_output(struct wayland_compositor *c,
width + c->border.left + c->border.right, width + c->border.left + c->border.right,
height + c->border.top + c->border.bottom); height + c->border.top + c->border.bottom);
if (!output->parent.egl_window) { if (!output->parent.egl_window) {
fprintf(stderr, "failure to create wl_egl_window\n"); weston_log("failure to create wl_egl_window\n");
goto cleanup_output; goto cleanup_output;
} }
@ -413,13 +414,13 @@ wayland_compositor_create_output(struct wayland_compositor *c,
eglCreateWindowSurface(c->base.display, c->base.config, eglCreateWindowSurface(c->base.display, c->base.config,
output->parent.egl_window, NULL); output->parent.egl_window, NULL);
if (!output->egl_surface) { if (!output->egl_surface) {
fprintf(stderr, "failed to create window surface\n"); weston_log("failed to create window surface\n");
goto cleanup_window; goto cleanup_window;
} }
if (!eglMakeCurrent(c->base.display, output->egl_surface, if (!eglMakeCurrent(c->base.display, output->egl_surface,
output->egl_surface, c->base.context)) { output->egl_surface, c->base.context)) {
fprintf(stderr, "failed to make surface current\n"); weston_log("failed to make surface current\n");
goto cleanup_surface; goto cleanup_surface;
return -1; return -1;
} }
@ -591,7 +592,7 @@ input_handle_keymap(void *data, struct wl_keyboard *keyboard, uint32_t format,
close(fd); close(fd);
if (!keymap) { if (!keymap) {
fprintf(stderr, "failed to compile keymap\n"); weston_log("failed to compile keymap\n");
return; return;
} }
@ -812,7 +813,7 @@ wayland_compositor_create(struct wl_display *display,
c->parent.display = wl_display_connect(display_name); c->parent.display = wl_display_connect(display_name);
if (c->parent.display == NULL) { if (c->parent.display == NULL) {
fprintf(stderr, "failed to create display: %m\n"); weston_log("failed to create display: %m\n");
return NULL; return NULL;
} }

@ -26,7 +26,6 @@
#endif #endif
#include <stddef.h> #include <stddef.h>
#include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <fcntl.h> #include <fcntl.h>
@ -46,6 +45,7 @@
#include "compositor.h" #include "compositor.h"
#include "../shared/config-parser.h" #include "../shared/config-parser.h"
#include "log.h"
struct x11_compositor { struct x11_compositor {
struct weston_compositor base; struct weston_compositor base;
@ -196,29 +196,29 @@ x11_compositor_init_egl(struct x11_compositor *c)
c->base.display = eglGetDisplay(c->dpy); c->base.display = eglGetDisplay(c->dpy);
if (c->base.display == NULL) { if (c->base.display == NULL) {
fprintf(stderr, "failed to create display\n"); weston_log("failed to create display\n");
return -1; return -1;
} }
if (!eglInitialize(c->base.display, &major, &minor)) { if (!eglInitialize(c->base.display, &major, &minor)) {
fprintf(stderr, "failed to initialize display\n"); weston_log("failed to initialize display\n");
return -1; return -1;
} }
if (!eglBindAPI(EGL_OPENGL_ES_API)) { if (!eglBindAPI(EGL_OPENGL_ES_API)) {
fprintf(stderr, "failed to bind EGL_OPENGL_ES_API\n"); weston_log("failed to bind EGL_OPENGL_ES_API\n");
return -1; return -1;
} }
if (!eglChooseConfig(c->base.display, config_attribs, if (!eglChooseConfig(c->base.display, config_attribs,
&c->base.config, 1, &n) || n == 0) { &c->base.config, 1, &n) || n == 0) {
fprintf(stderr, "failed to choose config: %d\n", n); weston_log("failed to choose config: %d\n", n);
return -1; return -1;
} }
c->base.context = eglCreateContext(c->base.display, c->base.config, c->base.context = eglCreateContext(c->base.display, c->base.config,
EGL_NO_CONTEXT, context_attribs); EGL_NO_CONTEXT, context_attribs);
if (c->base.context == NULL) { if (c->base.context == NULL) {
fprintf(stderr, "failed to create context\n"); weston_log("failed to create context\n");
return -1; return -1;
} }
@ -226,13 +226,13 @@ x11_compositor_init_egl(struct x11_compositor *c)
c->base.config, c->base.config,
pbuffer_attribs); pbuffer_attribs);
if (c->dummy_pbuffer == NULL) { if (c->dummy_pbuffer == NULL) {
fprintf(stderr, "failed to create dummy pbuffer\n"); weston_log("failed to create dummy pbuffer\n");
return -1; return -1;
} }
if (!eglMakeCurrent(c->base.display, c->dummy_pbuffer, if (!eglMakeCurrent(c->base.display, c->dummy_pbuffer,
c->dummy_pbuffer, c->base.context)) { c->dummy_pbuffer, c->base.context)) {
fprintf(stderr, "failed to make context current\n"); weston_log("failed to make context current\n");
return -1; return -1;
} }
@ -261,7 +261,7 @@ x11_output_repaint(struct weston_output *output_base,
if (!eglMakeCurrent(compositor->base.display, output->egl_surface, if (!eglMakeCurrent(compositor->base.display, output->egl_surface,
output->egl_surface, compositor->base.context)) { output->egl_surface, compositor->base.context)) {
fprintf(stderr, "failed to make current\n"); weston_log("failed to make current\n");
return; return;
} }
@ -500,12 +500,12 @@ x11_compositor_create_output(struct x11_compositor *c, int x, int y,
eglCreateWindowSurface(c->base.display, c->base.config, eglCreateWindowSurface(c->base.display, c->base.config,
output->window, NULL); output->window, NULL);
if (!output->egl_surface) { if (!output->egl_surface) {
fprintf(stderr, "failed to create window surface\n"); weston_log("failed to create window surface\n");
return -1; return -1;
} }
if (!eglMakeCurrent(c->base.display, output->egl_surface, if (!eglMakeCurrent(c->base.display, output->egl_surface,
output->egl_surface, c->base.context)) { output->egl_surface, c->base.context)) {
fprintf(stderr, "failed to make surface current\n"); weston_log("failed to make surface current\n");
return -1; return -1;
} }

@ -70,7 +70,7 @@ sigchld_handler(int signal_number, void *data)
} }
if (&p->link == &child_process_list) { if (&p->link == &child_process_list) {
fprintf(stderr, "unknown child process exited\n"); weston_log("unknown child process exited\n");
return 1; return 1;
} }
@ -113,7 +113,7 @@ child_client_exec(int sockfd, const char *path)
* non-CLOEXEC fd to pass through exec. */ * non-CLOEXEC fd to pass through exec. */
clientfd = dup(sockfd); clientfd = dup(sockfd);
if (clientfd == -1) { if (clientfd == -1) {
fprintf(stderr, "compositor: dup failed: %m\n"); weston_log("compositor: dup failed: %m\n");
return; return;
} }
@ -121,7 +121,7 @@ child_client_exec(int sockfd, const char *path)
setenv("WAYLAND_SOCKET", s, 1); setenv("WAYLAND_SOCKET", s, 1);
if (execl(path, path, NULL) < 0) if (execl(path, path, NULL) < 0)
fprintf(stderr, "compositor: executing '%s' failed: %m\n", weston_log("compositor: executing '%s' failed: %m\n",
path); path);
} }
@ -136,7 +136,7 @@ weston_client_launch(struct weston_compositor *compositor,
struct wl_client *client; struct wl_client *client;
if (os_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, sv) < 0) { if (os_socketpair_cloexec(AF_UNIX, SOCK_STREAM, 0, sv) < 0) {
fprintf(stderr, "weston_client_launch: " weston_log("weston_client_launch: "
"socketpair failed while launching '%s': %m\n", "socketpair failed while launching '%s': %m\n",
path); path);
return NULL; return NULL;
@ -146,7 +146,7 @@ weston_client_launch(struct weston_compositor *compositor,
if (pid == -1) { if (pid == -1) {
close(sv[0]); close(sv[0]);
close(sv[1]); close(sv[1]);
fprintf(stderr, "weston_client_launch: " weston_log("weston_client_launch: "
"fork failed while launching '%s': %m\n", path); "fork failed while launching '%s': %m\n", path);
return NULL; return NULL;
} }
@ -161,7 +161,7 @@ weston_client_launch(struct weston_compositor *compositor,
client = wl_client_create(compositor->wl_display, sv[0]); client = wl_client_create(compositor->wl_display, sv[0]);
if (!client) { if (!client) {
close(sv[0]); close(sv[0]);
fprintf(stderr, "weston_client_launch: " weston_log("weston_client_launch: "
"wl_client_create failed while launching '%s'.\n", "wl_client_create failed while launching '%s'.\n",
path); path);
return NULL; return NULL;
@ -279,7 +279,7 @@ surface_to_global_float(struct weston_surface *surface,
weston_matrix_transform(&surface->transform.matrix, &v); weston_matrix_transform(&surface->transform.matrix, &v);
if (fabsf(v.f[3]) < 1e-6) { if (fabsf(v.f[3]) < 1e-6) {
fprintf(stderr, "warning: numerical instability in " weston_log("warning: numerical instability in "
"weston_surface_to_global(), divisor = %g\n", "weston_surface_to_global(), divisor = %g\n",
v.f[3]); v.f[3]);
*x = 0; *x = 0;
@ -387,7 +387,7 @@ weston_surface_update_transform_enable(struct weston_surface *surface)
if (weston_matrix_invert(inverse, matrix) < 0) { if (weston_matrix_invert(inverse, matrix) < 0) {
/* Oops, bad total transformation, not invertible */ /* Oops, bad total transformation, not invertible */
fprintf(stderr, "error: weston_surface %p" weston_log("error: weston_surface %p"
" transformation not invertible.\n", surface); " transformation not invertible.\n", surface);
return -1; return -1;
} }
@ -471,7 +471,7 @@ surface_from_global_float(struct weston_surface *surface,
weston_matrix_transform(&surface->transform.inverse, &v); weston_matrix_transform(&surface->transform.inverse, &v);
if (fabsf(v.f[3]) < 1e-6) { if (fabsf(v.f[3]) < 1e-6) {
fprintf(stderr, "warning: numerical instability in " weston_log("warning: numerical instability in "
"weston_surface_from_global(), divisor = %g\n", "weston_surface_from_global(), divisor = %g\n",
v.f[3]); v.f[3]);
*sx = 0; *sx = 0;
@ -1961,7 +1961,7 @@ touch_set_focus(struct weston_seat *ws, struct wl_surface *surface)
find_resource_for_client(&seat->touch->resource_list, find_resource_for_client(&seat->touch->resource_list,
surface->resource.client); surface->resource.client);
if (!resource) { if (!resource) {
fprintf(stderr, "couldn't find resource\n"); weston_log("couldn't find resource\n");
return; return;
} }
@ -2232,7 +2232,7 @@ static void weston_compositor_xkb_init(struct weston_compositor *ec,
if (ec->xkb_context == NULL) { if (ec->xkb_context == NULL) {
ec->xkb_context = xkb_context_new(0); ec->xkb_context = xkb_context_new(0);
if (ec->xkb_context == NULL) { if (ec->xkb_context == NULL) {
fprintf(stderr, "failed to create XKB context\n"); weston_log("failed to create XKB context\n");
exit(1); exit(1);
} }
} }
@ -2291,15 +2291,14 @@ weston_xkb_info_new_keymap(struct weston_xkb_info *xkb_info)
keymap_str = xkb_map_get_as_string(xkb_info->keymap); keymap_str = xkb_map_get_as_string(xkb_info->keymap);
if (keymap_str == NULL) { if (keymap_str == NULL) {
fprintf(stderr, "failed to get string version of keymap\n"); weston_log("failed to get string version of keymap\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
xkb_info->keymap_size = strlen(keymap_str) + 1; xkb_info->keymap_size = strlen(keymap_str) + 1;
xkb_info->keymap_fd = os_create_anonymous_file(xkb_info->keymap_size); xkb_info->keymap_fd = os_create_anonymous_file(xkb_info->keymap_size);
if (xkb_info->keymap_fd < 0) { if (xkb_info->keymap_fd < 0) {
fprintf(stderr, weston_log("creating a keymap file for %lu bytes failed: %m\n",
"creating a keymap file for %lu bytes failed: %m\n",
(unsigned long) xkb_info->keymap_size); (unsigned long) xkb_info->keymap_size);
goto err_keymap_str; goto err_keymap_str;
} }
@ -2308,7 +2307,7 @@ weston_xkb_info_new_keymap(struct weston_xkb_info *xkb_info)
PROT_READ | PROT_WRITE, PROT_READ | PROT_WRITE,
MAP_SHARED, xkb_info->keymap_fd, 0); MAP_SHARED, xkb_info->keymap_fd, 0);
if (xkb_info->keymap_area == MAP_FAILED) { if (xkb_info->keymap_area == MAP_FAILED) {
fprintf(stderr, "failed to mmap() %lu bytes\n", weston_log("failed to mmap() %lu bytes\n",
(unsigned long) xkb_info->keymap_size); (unsigned long) xkb_info->keymap_size);
goto err_dev_zero; goto err_dev_zero;
} }
@ -2335,9 +2334,8 @@ weston_compositor_build_global_keymap(struct weston_compositor *ec)
&ec->xkb_names, &ec->xkb_names,
0); 0);
if (ec->xkb_info.keymap == NULL) { if (ec->xkb_info.keymap == NULL) {
fprintf(stderr, "failed to compile global XKB keymap\n"); weston_log("failed to compile global XKB keymap\n");
fprintf(stderr, weston_log(" tried rules %s, model %s, layout %s, variant %s, "
" tried rules %s, model %s, layout %s, variant %s, "
"options %s", "options %s",
ec->xkb_names.rules, ec->xkb_names.model, ec->xkb_names.rules, ec->xkb_names.model,
ec->xkb_names.layout, ec->xkb_names.variant, ec->xkb_names.layout, ec->xkb_names.variant,
@ -2366,7 +2364,7 @@ weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap)
seat->xkb_state.state = xkb_state_new(seat->xkb_info.keymap); seat->xkb_state.state = xkb_state_new(seat->xkb_info.keymap);
if (seat->xkb_state.state == NULL) { if (seat->xkb_state.state == NULL) {
fprintf(stderr, "failed to initialise XKB state\n"); weston_log("failed to initialise XKB state\n");
exit(1); exit(1);
} }
@ -2648,7 +2646,7 @@ compile_shader(GLenum type, const char *source)
glGetShaderiv(s, GL_COMPILE_STATUS, &status); glGetShaderiv(s, GL_COMPILE_STATUS, &status);
if (!status) { if (!status) {
glGetShaderInfoLog(s, sizeof msg, NULL, msg); glGetShaderInfoLog(s, sizeof msg, NULL, msg);
fprintf(stderr, "shader info: %s\n", msg); weston_log("shader info: %s\n", msg);
return GL_NONE; return GL_NONE;
} }
@ -2677,7 +2675,7 @@ weston_shader_init(struct weston_shader *shader,
glGetProgramiv(shader->program, GL_LINK_STATUS, &status); glGetProgramiv(shader->program, GL_LINK_STATUS, &status);
if (!status) { if (!status) {
glGetProgramInfoLog(shader->program, sizeof msg, NULL, msg); glGetProgramInfoLog(shader->program, sizeof msg, NULL, msg);
fprintf(stderr, "link info: %s\n", msg); weston_log("link info: %s\n", msg);
return -1; return -1;
} }
@ -2925,13 +2923,12 @@ weston_compositor_init(struct weston_compositor *ec,
extensions = (const char *) glGetString(GL_EXTENSIONS); extensions = (const char *) glGetString(GL_EXTENSIONS);
if (!extensions) { if (!extensions) {
fprintf(stderr, "Retrieving GL extension string failed.\n"); weston_log("Retrieving GL extension string failed.\n");
return -1; return -1;
} }
if (!strstr(extensions, "GL_EXT_texture_format_BGRA8888")) { if (!strstr(extensions, "GL_EXT_texture_format_BGRA8888")) {
fprintf(stderr, weston_log("GL_EXT_texture_format_BGRA8888 not available\n");
"GL_EXT_texture_format_BGRA8888 not available\n");
return -1; return -1;
} }
@ -2946,7 +2943,7 @@ weston_compositor_init(struct weston_compositor *ec,
extensions = extensions =
(const char *) eglQueryString(ec->display, EGL_EXTENSIONS); (const char *) eglQueryString(ec->display, EGL_EXTENSIONS);
if (!extensions) { if (!extensions) {
fprintf(stderr, "Retrieving EGL extension string failed.\n"); weston_log("Retrieving EGL extension string failed.\n");
return -1; return -1;
} }
@ -3026,7 +3023,7 @@ static int on_term_signal(int signal_number, void *data)
{ {
struct wl_display *display = data; struct wl_display *display = data;
fprintf(stderr, "caught signal %d\n", signal_number); weston_log("caught signal %d\n", signal_number);
wl_display_terminate(display); wl_display_terminate(display);
return 1; return 1;
@ -3039,12 +3036,12 @@ on_segv_signal(int s, siginfo_t *siginfo, void *context)
int i, count; int i, count;
Dl_info info; Dl_info info;
fprintf(stderr, "caught segv\n"); weston_log("caught segv\n");
count = backtrace(buffer, ARRAY_LENGTH(buffer)); count = backtrace(buffer, ARRAY_LENGTH(buffer));
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
dladdr(buffer[i], &info); dladdr(buffer[i], &info);
fprintf(stderr, " [%016lx] %s (%s)\n", weston_log(" [%016lx] %s (%s)\n",
(long) buffer[i], (long) buffer[i],
info.dli_sname ? info.dli_sname : "--", info.dli_sname ? info.dli_sname : "--",
info.dli_fname); info.dli_fname);
@ -3067,15 +3064,13 @@ load_module(const char *name, const char *entrypoint, void **handle)
module = dlopen(path, RTLD_LAZY); module = dlopen(path, RTLD_LAZY);
if (!module) { if (!module) {
fprintf(stderr, weston_log("failed to load module '%s': %s\n", path, dlerror());
"failed to load module '%s': %s\n", path, dlerror());
return NULL; return NULL;
} }
init = dlsym(module, entrypoint); init = dlsym(module, entrypoint);
if (!init) { if (!init) {
fprintf(stderr, weston_log("failed to lookup init function in '%s': %s\n",
"failed to lookup init function in '%s': %s\n",
path, dlerror()); path, dlerror());
return NULL; return NULL;
} }
@ -3134,7 +3129,7 @@ int main(int argc, char *argv[])
ARRAY_LENGTH(core_options), argc, argv); ARRAY_LENGTH(core_options), argc, argv);
if (!getenv("XDG_RUNTIME_DIR")) { if (!getenv("XDG_RUNTIME_DIR")) {
fprintf(stderr, xdg_error_message); weston_log(xdg_error_message);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -3179,12 +3174,12 @@ int main(int argc, char *argv[])
ec = backend_init(display, argc, argv, config_file); ec = backend_init(display, argc, argv, config_file);
if (ec == NULL) { if (ec == NULL) {
fprintf(stderr, "failed to create compositor\n"); weston_log("failed to create compositor\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
for (i = 1; argv[i]; i++) for (i = 1; argv[i]; i++)
fprintf(stderr, "unhandled option: %s\n", argv[i]); weston_log("unhandled option: %s\n", argv[i]);
if (argv[1]) if (argv[1])
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
@ -3215,7 +3210,7 @@ int main(int argc, char *argv[])
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
if (wl_display_add_socket(display, socket_name)) { if (wl_display_add_socket(display, socket_name)) {
fprintf(stderr, "failed to add socket: %m\n"); weston_log("failed to add socket: %m\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }

@ -20,7 +20,6 @@
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
#include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
#include <string.h> #include <string.h>

@ -20,7 +20,6 @@
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
#include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <linux/input.h> #include <linux/input.h>
@ -32,6 +31,7 @@
#include "evdev.h" #include "evdev.h"
#include "evdev-private.h" #include "evdev-private.h"
#include "launcher-util.h" #include "launcher-util.h"
#include "log.h"
static void static void
evdev_led_update(struct weston_seat *seat_base, enum weston_led leds) evdev_led_update(struct weston_seat *seat_base, enum weston_led leds)
@ -498,7 +498,7 @@ evdev_input_device_create(struct evdev_seat *master,
if (device->is_mt) { if (device->is_mt) {
device->mtdev = mtdev_new_open(device->fd); device->mtdev = mtdev_new_open(device->fd);
if (!device->mtdev) if (!device->mtdev)
fprintf(stderr, "mtdev failed to open for %s\n", path); weston_log("mtdev failed to open for %s\n", path);
} }
device->source = wl_event_loop_add_fd(ec->input_loop, device->fd, device->source = wl_event_loop_add_fd(ec->input_loop, device->fd,
@ -576,7 +576,7 @@ evdev_notify_keyboard_focus(struct evdev_seat *seat)
ret = ioctl(device->fd, ret = ioctl(device->fd,
EVIOCGKEY(sizeof evdev_keys), evdev_keys); EVIOCGKEY(sizeof evdev_keys), evdev_keys);
if (ret < 0) { if (ret < 0) {
fprintf(stderr, "failed to get keys for device %s\n", weston_log("failed to get keys for device %s\n",
device->devnode); device->devnode);
continue; continue;
} }
@ -629,7 +629,7 @@ evdev_add_devices(struct udev *udev, struct weston_seat *seat_base)
evdev_notify_keyboard_focus(seat); evdev_notify_keyboard_focus(seat);
if (wl_list_empty(&seat->devices_list)) { if (wl_list_empty(&seat->devices_list)) {
fprintf(stderr, weston_log(
"warning: no input devices on entering Weston. " "warning: no input devices on entering Weston. "
"Possible causes:\n" "Possible causes:\n"
"\t- no permissions to read /dev/input/event*\n" "\t- no permissions to read /dev/input/event*\n"
@ -685,7 +685,7 @@ evdev_enable_udev_monitor(struct udev *udev, struct weston_seat *seat_base)
master->udev_monitor = udev_monitor_new_from_netlink(udev, "udev"); master->udev_monitor = udev_monitor_new_from_netlink(udev, "udev");
if (!master->udev_monitor) { if (!master->udev_monitor) {
fprintf(stderr, "udev: failed to create the udev monitor\n"); weston_log("udev: failed to create the udev monitor\n");
return 0; return 0;
} }
@ -693,7 +693,7 @@ evdev_enable_udev_monitor(struct udev *udev, struct weston_seat *seat_base)
"input", NULL); "input", NULL);
if (udev_monitor_enable_receiving(master->udev_monitor)) { if (udev_monitor_enable_receiving(master->udev_monitor)) {
fprintf(stderr, "udev: failed to bind the udev monitor\n"); weston_log("udev: failed to bind the udev monitor\n");
udev_monitor_unref(master->udev_monitor); udev_monitor_unref(master->udev_monitor);
return 0; return 0;
} }

@ -21,7 +21,6 @@
*/ */
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h>
#include <stdint.h> #include <stdint.h>
#include <limits.h> #include <limits.h>
#include <math.h> #include <math.h>

@ -36,6 +36,7 @@
#include "compositor.h" #include "compositor.h"
#include "desktop-shell-server-protocol.h" #include "desktop-shell-server-protocol.h"
#include "../shared/config-parser.h" #include "../shared/config-parser.h"
#include "log.h"
enum animation_type { enum animation_type {
ANIMATION_NONE, ANIMATION_NONE,
@ -975,7 +976,7 @@ create_black_surface(struct weston_compositor *ec,
surface = weston_surface_create(ec); surface = weston_surface_create(ec);
if (surface == NULL) { if (surface == NULL) {
fprintf(stderr, "no memory\n"); weston_log("no memory\n");
return NULL; return NULL;
} }
@ -1316,13 +1317,13 @@ create_shell_surface(void *shell, struct weston_surface *surface,
struct shell_surface *shsurf; struct shell_surface *shsurf;
if (surface->configure) { if (surface->configure) {
fprintf(stderr, "surface->configure already set\n"); weston_log("surface->configure already set\n");
return NULL; return NULL;
} }
shsurf = calloc(1, sizeof *shsurf); shsurf = calloc(1, sizeof *shsurf);
if (!shsurf) { if (!shsurf) {
fprintf(stderr, "no memory to allocate shell surface\n"); weston_log("no memory to allocate shell surface\n");
return NULL; return NULL;
} }
@ -1415,7 +1416,7 @@ launch_screensaver(struct desktop_shell *shell)
return; return;
if (shell->screensaver.process.pid != 0) { if (shell->screensaver.process.pid != 0) {
fprintf(stderr, "old screensaver still running\n"); weston_log("old screensaver still running\n");
return; return;
} }
@ -1498,7 +1499,7 @@ handle_lock_surface_destroy(struct wl_listener *listener, void *data)
struct desktop_shell *shell = struct desktop_shell *shell =
container_of(listener, struct desktop_shell, lock_surface_listener); container_of(listener, struct desktop_shell, lock_surface_listener);
fprintf(stderr, "lock surface gone\n"); weston_log("lock surface gone\n");
shell->lock_surface = NULL; shell->lock_surface = NULL;
} }
@ -2327,11 +2328,11 @@ desktop_shell_sigchld(struct weston_process *process, int status)
shell->child.deathcount++; shell->child.deathcount++;
if (shell->child.deathcount > 5) { if (shell->child.deathcount > 5) {
fprintf(stderr, "weston-desktop-shell died, giving up.\n"); weston_log("weston-desktop-shell died, giving up.\n");
return; return;
} }
fprintf(stderr, "weston-desktop-shell died, respawning...\n"); weston_log("weston-desktop-shell died, respawning...\n");
launch_desktop_shell_process(shell); launch_desktop_shell_process(shell);
} }

@ -23,12 +23,12 @@
#include <sys/wait.h> #include <sys/wait.h>
#include <unistd.h> #include <unistd.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h>
#include <string.h> #include <string.h>
#include <linux/input.h> #include <linux/input.h>
#include "compositor.h" #include "compositor.h"
#include "tablet-shell-server-protocol.h" #include "tablet-shell-server-protocol.h"
#include "log.h"
/* /*
* TODO: Don't fade back from black until we've received a lockscreen * TODO: Don't fade back from black until we've received a lockscreen
@ -104,8 +104,7 @@ tablet_shell_sigchld(struct weston_process *process, int status)
shell->process.pid = 0; shell->process.pid = 0;
fprintf(stderr, weston_log("weston-tablet-shell crashed, exit code %d\n", status);
"weston-tablet-shell crashed, exit code %d\n", status);
} }
static void static void
@ -115,7 +114,7 @@ tablet_shell_set_state(struct tablet_shell *shell, int state)
"STARTING", "LOCKED", "HOME", "SWITCHER", "TASK" "STARTING", "LOCKED", "HOME", "SWITCHER", "TASK"
}; };
fprintf(stderr, "switching to state %s (from %s)\n", weston_log("switching to state %s (from %s)\n",
states[state], states[shell->state]); states[state], states[shell->state]);
shell->previous_state = shell->state; shell->previous_state = shell->state;
shell->state = state; shell->state = state;
@ -363,7 +362,7 @@ tablet_shell_create_client(struct wl_client *client,
tablet_client->surface = NULL; tablet_client->surface = NULL;
shell->current_client = tablet_client; shell->current_client = tablet_client;
fprintf(stderr, "created client %p, id %d, name %s, fd %d\n", weston_log("created client %p, id %d, name %s, fd %d\n",
tablet_client->client, id, name, fd); tablet_client->client, id, name, fd);
} }

@ -35,6 +35,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include "compositor.h" #include "compositor.h"
#include "log.h"
/* Introduced in 2.6.38 */ /* Introduced in 2.6.38 */
#ifndef K_OFF #ifndef K_OFF
@ -91,19 +92,19 @@ try_open_vt(struct tty *tty)
tty0 = open("/dev/tty0", O_WRONLY | O_CLOEXEC); tty0 = open("/dev/tty0", O_WRONLY | O_CLOEXEC);
if (tty0 < 0) { if (tty0 < 0) {
fprintf(stderr, "could not open tty0: %m\n"); weston_log("could not open tty0: %m\n");
return -1; return -1;
} }
if (ioctl(tty0, VT_OPENQRY, &tty->vt) < 0 || tty->vt == -1) { if (ioctl(tty0, VT_OPENQRY, &tty->vt) < 0 || tty->vt == -1) {
fprintf(stderr, "could not open tty0: %m\n"); weston_log("could not open tty0: %m\n");
close(tty0); close(tty0);
return -1; return -1;
} }
close(tty0); close(tty0);
snprintf(filename, sizeof filename, "/dev/tty%d", tty->vt); snprintf(filename, sizeof filename, "/dev/tty%d", tty->vt);
fprintf(stderr, "compositor: using new vt %s\n", filename); weston_log("compositor: using new vt %s\n", filename);
fd = open(filename, O_RDWR | O_NOCTTY | O_CLOEXEC); fd = open(filename, O_RDWR | O_NOCTTY | O_CLOEXEC);
if (fd < 0) if (fd < 0)
return fd; return fd;
@ -144,7 +145,7 @@ tty_create(struct weston_compositor *compositor, tty_vt_func_t vt_func,
if (tty_nr > 0) { if (tty_nr > 0) {
snprintf(filename, sizeof filename, "/dev/tty%d", tty_nr); snprintf(filename, sizeof filename, "/dev/tty%d", tty_nr);
fprintf(stderr, "compositor: using %s\n", filename); weston_log("compositor: using %s\n", filename);
tty->fd = open(filename, O_RDWR | O_NOCTTY | O_CLOEXEC); tty->fd = open(filename, O_RDWR | O_NOCTTY | O_CLOEXEC);
tty->vt = tty_nr; tty->vt = tty_nr;
} else if (fstat(tty->fd, &buf) == 0 && } else if (fstat(tty->fd, &buf) == 0 &&
@ -160,7 +161,7 @@ tty_create(struct weston_compositor *compositor, tty_vt_func_t vt_func,
} }
if (tty->fd <= 0) { if (tty->fd <= 0) {
fprintf(stderr, "failed to open tty: %m\n"); weston_log("failed to open tty: %m\n");
free(tty); free(tty);
return NULL; return NULL;
} }
@ -173,13 +174,13 @@ tty_create(struct weston_compositor *compositor, tty_vt_func_t vt_func,
if (tty->starting_vt != tty->vt) { if (tty->starting_vt != tty->vt) {
if (ioctl(tty->fd, VT_ACTIVATE, tty->vt) < 0 || if (ioctl(tty->fd, VT_ACTIVATE, tty->vt) < 0 ||
ioctl(tty->fd, VT_WAITACTIVE, tty->vt) < 0) { ioctl(tty->fd, VT_WAITACTIVE, tty->vt) < 0) {
fprintf(stderr, "failed to swtich to new vt\n"); weston_log("failed to swtich to new vt\n");
return NULL; return NULL;
} }
} }
if (tcgetattr(tty->fd, &tty->terminal_attributes) < 0) { if (tcgetattr(tty->fd, &tty->terminal_attributes) < 0) {
fprintf(stderr, "could not get terminal attributes: %m\n"); weston_log("could not get terminal attributes: %m\n");
goto err; goto err;
} }
@ -191,7 +192,7 @@ tty_create(struct weston_compositor *compositor, tty_vt_func_t vt_func,
raw_attributes.c_oflag |= OPOST | OCRNL; raw_attributes.c_oflag |= OPOST | OCRNL;
if (tcsetattr(tty->fd, TCSANOW, &raw_attributes) < 0) if (tcsetattr(tty->fd, TCSANOW, &raw_attributes) < 0)
fprintf(stderr, "could not put terminal into raw mode: %m\n"); weston_log("could not put terminal into raw mode: %m\n");
loop = wl_display_get_event_loop(compositor->wl_display); loop = wl_display_get_event_loop(compositor->wl_display);
@ -210,13 +211,13 @@ tty_create(struct weston_compositor *compositor, tty_vt_func_t vt_func,
} }
if (ret) { if (ret) {
fprintf(stderr, "failed to set K_OFF keyboard mode on tty: %m\n"); weston_log("failed to set K_OFF keyboard mode on tty: %m\n");
goto err_attr; goto err_attr;
} }
ret = ioctl(tty->fd, KDSETMODE, KD_GRAPHICS); ret = ioctl(tty->fd, KDSETMODE, KD_GRAPHICS);
if (ret) { if (ret) {
fprintf(stderr, "failed to set KD_GRAPHICS mode on tty: %m\n"); weston_log("failed to set KD_GRAPHICS mode on tty: %m\n");
goto err_kdkbmode; goto err_kdkbmode;
} }
@ -225,7 +226,7 @@ tty_create(struct weston_compositor *compositor, tty_vt_func_t vt_func,
mode.relsig = SIGUSR1; mode.relsig = SIGUSR1;
mode.acqsig = SIGUSR1; mode.acqsig = SIGUSR1;
if (ioctl(tty->fd, VT_SETMODE, &mode) < 0) { if (ioctl(tty->fd, VT_SETMODE, &mode) < 0) {
fprintf(stderr, "failed to take control of vt handling\n"); weston_log("failed to take control of vt handling\n");
goto err_kdmode; goto err_kdmode;
} }
@ -265,19 +266,17 @@ tty_destroy(struct tty *tty)
wl_event_source_remove(tty->input_source); wl_event_source_remove(tty->input_source);
if (ioctl(tty->fd, KDSKBMODE, tty->kb_mode)) if (ioctl(tty->fd, KDSKBMODE, tty->kb_mode))
fprintf(stderr, "failed to restore keyboard mode: %m\n"); weston_log("failed to restore keyboard mode: %m\n");
if (ioctl(tty->fd, KDSETMODE, KD_TEXT)) if (ioctl(tty->fd, KDSETMODE, KD_TEXT))
fprintf(stderr, weston_log("failed to set KD_TEXT mode on tty: %m\n");
"failed to set KD_TEXT mode on tty: %m\n");
if (tcsetattr(tty->fd, TCSANOW, &tty->terminal_attributes) < 0) if (tcsetattr(tty->fd, TCSANOW, &tty->terminal_attributes) < 0)
fprintf(stderr, weston_log("could not restore terminal to canonical mode\n");
"could not restore terminal to canonical mode\n");
mode.mode = VT_AUTO; mode.mode = VT_AUTO;
if (ioctl(tty->fd, VT_SETMODE, &mode) < 0) if (ioctl(tty->fd, VT_SETMODE, &mode) < 0)
fprintf(stderr, "could not reset vt handling\n"); weston_log("could not reset vt handling\n");
if (tty->has_vt && tty->vt != tty->starting_vt) { if (tty->has_vt && tty->vt != tty->starting_vt) {
ioctl(tty->fd, VT_ACTIVATE, tty->starting_vt); ioctl(tty->fd, VT_ACTIVATE, tty->starting_vt);

@ -34,6 +34,7 @@
#include "xwayland.h" #include "xwayland.h"
#include "xserver-server-protocol.h" #include "xserver-server-protocol.h"
#include "../log.h"
static int static int
@ -44,7 +45,7 @@ weston_xserver_handle_event(int listen_fd, uint32_t mask, void *data)
int sv[2], client_fd; int sv[2], client_fd;
if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sv) < 0) { if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sv) < 0) {
fprintf(stderr, "socketpair failed\n"); weston_log("socketpair failed\n");
return 1; return 1;
} }
@ -71,11 +72,11 @@ weston_xserver_handle_event(int listen_fd, uint32_t mask, void *data)
"-nolisten", "all", "-nolisten", "all",
"-terminate", "-terminate",
NULL) < 0) NULL) < 0)
fprintf(stderr, "exec failed: %m\n"); weston_log("exec failed: %m\n");
exit(-1); exit(-1);
default: default:
fprintf(stderr, "forked X server, pid %d\n", mxs->process.pid); weston_log("forked X server, pid %d\n", mxs->process.pid);
close(sv[1]); close(sv[1]);
mxs->client = wl_client_create(mxs->wl_display, sv[0]); mxs->client = wl_client_create(mxs->wl_display, sv[0]);
@ -87,7 +88,7 @@ weston_xserver_handle_event(int listen_fd, uint32_t mask, void *data)
break; break;
case -1: case -1:
fprintf(stderr, "failed to fork\n"); weston_log( "failed to fork\n");
break; break;
} }
@ -135,14 +136,14 @@ weston_xserver_cleanup(struct weston_process *process, int status)
weston_xserver_handle_event, mxs); weston_xserver_handle_event, mxs);
if (mxs->wm) { if (mxs->wm) {
fprintf(stderr, "xserver exited, code %d\n", status); weston_log("xserver exited, code %d\n", status);
weston_wm_destroy(mxs->wm); weston_wm_destroy(mxs->wm);
mxs->wm = NULL; mxs->wm = NULL;
} else { } else {
/* If the X server crashes before it binds to the /* If the X server crashes before it binds to the
* xserver interface, shut down and don't try * xserver interface, shut down and don't try
* again. */ * again. */
fprintf(stderr, "xserver crashing too fast: %d\n", status); weston_log("xserver crashing too fast: %d\n", status);
weston_xserver_shutdown(mxs); weston_xserver_shutdown(mxs);
} }
} }
@ -164,7 +165,7 @@ bind_xserver(struct wl_client *client,
wxs->wm = weston_wm_create(wxs); wxs->wm = weston_wm_create(wxs);
if (wxs->wm == NULL) { if (wxs->wm == NULL) {
fprintf(stderr, "failed to create wm\n"); weston_log("failed to create wm\n");
} }
xserver_send_listen_socket(wxs->resource, wxs->abstract_fd); xserver_send_listen_socket(wxs->resource, wxs->abstract_fd);
@ -187,7 +188,7 @@ bind_to_abstract_socket(int display)
"%c/tmp/.X11-unix/X%d", 0, display); "%c/tmp/.X11-unix/X%d", 0, display);
size = offsetof(struct sockaddr_un, sun_path) + name_size; size = offsetof(struct sockaddr_un, sun_path) + name_size;
if (bind(fd, (struct sockaddr *) &addr, size) < 0) { if (bind(fd, (struct sockaddr *) &addr, size) < 0) {
fprintf(stderr, "failed to bind to @%s: %s\n", weston_log("failed to bind to @%s: %s\n",
addr.sun_path + 1, strerror(errno)); addr.sun_path + 1, strerror(errno));
close(fd); close(fd);
return -1; return -1;
@ -218,7 +219,7 @@ bind_to_unix_socket(int display)
size = offsetof(struct sockaddr_un, sun_path) + name_size; size = offsetof(struct sockaddr_un, sun_path) + name_size;
unlink(addr.sun_path); unlink(addr.sun_path);
if (bind(fd, (struct sockaddr *) &addr, size) < 0) { if (bind(fd, (struct sockaddr *) &addr, size) < 0) {
fprintf(stderr, "failed to bind to %s (%s)\n", weston_log("failed to bind to %s (%s)\n",
addr.sun_path, strerror(errno)); addr.sun_path, strerror(errno));
close(fd); close(fd);
return -1; return -1;
@ -245,7 +246,7 @@ create_lockfile(int display, char *lockfile, size_t lsize)
if (fd < 0 && errno == EEXIST) { if (fd < 0 && errno == EEXIST) {
fd = open(lockfile, O_CLOEXEC, O_RDONLY); fd = open(lockfile, O_CLOEXEC, O_RDONLY);
if (fd < 0 || read(fd, pid, 11) != 11) { if (fd < 0 || read(fd, pid, 11) != 11) {
fprintf(stderr, "can't read lock file %s: %s\n", weston_log("can't read lock file %s: %s\n",
lockfile, strerror(errno)); lockfile, strerror(errno));
errno = EEXIST; errno = EEXIST;
return -1; return -1;
@ -253,7 +254,7 @@ create_lockfile(int display, char *lockfile, size_t lsize)
other = strtol(pid, &end, 0); other = strtol(pid, &end, 0);
if (end != pid + 10) { if (end != pid + 10) {
fprintf(stderr, "can't parse lock file %s\n", weston_log("can't parse lock file %s\n",
lockfile); lockfile);
close(fd); close(fd);
errno = EEXIST; errno = EEXIST;
@ -262,8 +263,7 @@ create_lockfile(int display, char *lockfile, size_t lsize)
if (kill(other, 0) < 0 && errno == ESRCH) { if (kill(other, 0) < 0 && errno == ESRCH) {
/* stale lock file; unlink and try again */ /* stale lock file; unlink and try again */
fprintf(stderr, weston_log("unlinking stale lock file %s\n", lockfile);
"unlinking stale lock file %s\n", lockfile);
close(fd); close(fd);
if (unlink(lockfile)) if (unlink(lockfile))
/* If we fail to unlink, return EEXIST /* If we fail to unlink, return EEXIST
@ -277,7 +277,7 @@ create_lockfile(int display, char *lockfile, size_t lsize)
errno = EEXIST; errno = EEXIST;
return -1; return -1;
} else if (fd < 0) { } else if (fd < 0) {
fprintf(stderr, "failed to create lock file %s: %s\n", weston_log("failed to create lock file %s: %s\n",
lockfile, strerror(errno)); lockfile, strerror(errno));
return -1; return -1;
} }
@ -356,7 +356,7 @@ weston_xserver_init(struct weston_compositor *compositor)
} }
snprintf(display_name, sizeof display_name, ":%d", mxs->display); snprintf(display_name, sizeof display_name, ":%d", mxs->display);
fprintf(stderr, "xserver listening on display %s\n", display_name); weston_log("xserver listening on display %s\n", display_name);
setenv("DISPLAY", display_name, 1); setenv("DISPLAY", display_name, 1);
mxs->loop = wl_display_get_event_loop(display); mxs->loop = wl_display_get_event_loop(display);

@ -23,12 +23,12 @@
#define _GNU_SOURCE #define _GNU_SOURCE
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h>
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include "xwayland.h" #include "xwayland.h"
#include "../log.h"
static int static int
weston_wm_write_property(int fd, uint32_t mask, void *data) weston_wm_write_property(int fd, uint32_t mask, void *data)
@ -46,11 +46,11 @@ weston_wm_write_property(int fd, uint32_t mask, void *data)
free(wm->property_reply); free(wm->property_reply);
wl_event_source_remove(wm->property_source); wl_event_source_remove(wm->property_source);
close(fd); close(fd);
fprintf(stderr, "write error to target fd: %m\n"); weston_log("write error to target fd: %m\n");
return 1; return 1;
} }
fprintf(stderr, "wrote %d (chunk size %d) of %d bytes\n", weston_log("wrote %d (chunk size %d) of %d bytes\n",
wm->property_start + len, wm->property_start + len,
len, xcb_get_property_value_length(wm->property_reply)); len, xcb_get_property_value_length(wm->property_reply));
@ -64,7 +64,7 @@ weston_wm_write_property(int fd, uint32_t mask, void *data)
wm->selection_window, wm->selection_window,
wm->atom.wl_selection); wm->atom.wl_selection);
} else { } else {
fprintf(stderr, "transfer complete\n"); weston_log("transfer complete\n");
close(fd); close(fd);
} }
} }
@ -100,7 +100,7 @@ weston_wm_get_incr_chunk(struct weston_wm *wm)
wm); wm);
wm->property_reply = reply; wm->property_reply = reply;
} else { } else {
fprintf(stderr, "transfer complete\n"); weston_log("transfer complete\n");
close(wm->data_source_fd); close(wm->data_source_fd);
free(reply); free(reply);
} }
@ -345,20 +345,20 @@ weston_wm_read_data_source(int fd, uint32_t mask, void *data)
len = read(fd, p, available); len = read(fd, p, available);
if (len == -1) { if (len == -1) {
fprintf(stderr, "read error from data source: %m\n"); weston_log("read error from data source: %m\n");
weston_wm_send_selection_notify(wm, XCB_ATOM_NONE); weston_wm_send_selection_notify(wm, XCB_ATOM_NONE);
wl_event_source_remove(wm->property_source); wl_event_source_remove(wm->property_source);
close(fd); close(fd);
wl_array_release(&wm->source_data); wl_array_release(&wm->source_data);
} }
fprintf(stderr, "read %d (available %d, mask 0x%x) bytes: \"%.*s\"\n", weston_log("read %d (available %d, mask 0x%x) bytes: \"%.*s\"\n",
len, available, mask, len, (char *) p); len, available, mask, len, (char *) p);
wm->source_data.size = current + len; wm->source_data.size = current + len;
if (wm->source_data.size >= incr_chunk_size) { if (wm->source_data.size >= incr_chunk_size) {
if (!wm->incr) { if (!wm->incr) {
fprintf(stderr, "got %zu bytes, starting incr\n", weston_log("got %zu bytes, starting incr\n",
wm->source_data.size); wm->source_data.size);
wm->incr = 1; wm->incr = 1;
xcb_change_property(wm->conn, xcb_change_property(wm->conn,
@ -373,19 +373,19 @@ weston_wm_read_data_source(int fd, uint32_t mask, void *data)
wl_event_source_remove(wm->property_source); wl_event_source_remove(wm->property_source);
weston_wm_send_selection_notify(wm, wm->selection_request.property); weston_wm_send_selection_notify(wm, wm->selection_request.property);
} else if (wm->selection_property_set) { } else if (wm->selection_property_set) {
fprintf(stderr, "got %zu bytes, waiting for " weston_log("got %zu bytes, waiting for "
"property delete\n", wm->source_data.size); "property delete\n", wm->source_data.size);
wm->flush_property_on_delete = 1; wm->flush_property_on_delete = 1;
wl_event_source_remove(wm->property_source); wl_event_source_remove(wm->property_source);
} else { } else {
fprintf(stderr, "got %zu bytes, " weston_log("got %zu bytes, "
"property deleted, seting new property\n", "property deleted, seting new property\n",
wm->source_data.size); wm->source_data.size);
weston_wm_flush_source_data(wm); weston_wm_flush_source_data(wm);
} }
} else if (len == 0 && !wm->incr) { } else if (len == 0 && !wm->incr) {
fprintf(stderr, "non-incr transfer complete\n"); weston_log("non-incr transfer complete\n");
/* Non-incr transfer all done. */ /* Non-incr transfer all done. */
weston_wm_flush_source_data(wm); weston_wm_flush_source_data(wm);
weston_wm_send_selection_notify(wm, wm->selection_request.property); weston_wm_send_selection_notify(wm, wm->selection_request.property);
@ -395,14 +395,14 @@ weston_wm_read_data_source(int fd, uint32_t mask, void *data)
wl_array_release(&wm->source_data); wl_array_release(&wm->source_data);
wm->selection_request.requestor = XCB_NONE; wm->selection_request.requestor = XCB_NONE;
} else if (len == 0 && wm->incr) { } else if (len == 0 && wm->incr) {
fprintf(stderr, "incr transfer complete\n"); weston_log("incr transfer complete\n");
wm->flush_property_on_delete = 1; wm->flush_property_on_delete = 1;
if (wm->selection_property_set) { if (wm->selection_property_set) {
fprintf(stderr, "got %zu bytes, waiting for " weston_log("got %zu bytes, waiting for "
"property delete\n", wm->source_data.size); "property delete\n", wm->source_data.size);
} else { } else {
fprintf(stderr, "got %zu bytes, " weston_log("got %zu bytes, "
"property deleted, seting new property\n", "property deleted, seting new property\n",
wm->source_data.size); wm->source_data.size);
weston_wm_flush_source_data(wm); weston_wm_flush_source_data(wm);
@ -413,7 +413,7 @@ weston_wm_read_data_source(int fd, uint32_t mask, void *data)
wm->data_source_fd = -1; wm->data_source_fd = -1;
close(fd); close(fd);
} else { } else {
fprintf(stderr, "nothing happened, buffered the bytes\n"); weston_log("nothing happened, buffered the bytes\n");
} }
return 1; return 1;
@ -427,7 +427,7 @@ weston_wm_send_data(struct weston_wm *wm, xcb_atom_t target, const char *mime_ty
int p[2]; int p[2];
if (pipe2(p, O_CLOEXEC | O_NONBLOCK) == -1) { if (pipe2(p, O_CLOEXEC | O_NONBLOCK) == -1) {
fprintf(stderr, "pipe2 failed: %m\n"); weston_log("pipe2 failed: %m\n");
weston_wm_send_selection_notify(wm, XCB_ATOM_NONE); weston_wm_send_selection_notify(wm, XCB_ATOM_NONE);
return; return;
} }
@ -450,11 +450,11 @@ weston_wm_send_incr_chunk(struct weston_wm *wm)
{ {
int length; int length;
fprintf(stderr, "property deleted\n"); weston_log("property deleted\n");
wm->selection_property_set = 0; wm->selection_property_set = 0;
if (wm->flush_property_on_delete) { if (wm->flush_property_on_delete) {
fprintf(stderr, "setting new property, %zu bytes\n", weston_log("setting new property, %zu bytes\n",
wm->source_data.size); wm->source_data.size);
wm->flush_property_on_delete = 0; wm->flush_property_on_delete = 0;
length = weston_wm_flush_source_data(wm); length = weston_wm_flush_source_data(wm);
@ -510,11 +510,11 @@ weston_wm_handle_selection_request(struct weston_wm *wm,
xcb_selection_request_event_t *selection_request = xcb_selection_request_event_t *selection_request =
(xcb_selection_request_event_t *) event; (xcb_selection_request_event_t *) event;
fprintf(stderr, "selection request, %s, ", weston_log("selection request, %s, ",
get_atom_name(wm->conn, selection_request->selection)); get_atom_name(wm->conn, selection_request->selection));
fprintf(stderr, "target %s, ", weston_log_continue("target %s, ",
get_atom_name(wm->conn, selection_request->target)); get_atom_name(wm->conn, selection_request->target));
fprintf(stderr, "property %s\n", weston_log_continue("property %s\n",
get_atom_name(wm->conn, selection_request->property)); get_atom_name(wm->conn, selection_request->property));
wm->selection_request = *selection_request; wm->selection_request = *selection_request;
@ -539,7 +539,7 @@ weston_wm_handle_selection_request(struct weston_wm *wm,
weston_wm_send_data(wm, wm->atom.utf8_string, weston_wm_send_data(wm, wm->atom.utf8_string,
"text/plain;charset=utf-8"); "text/plain;charset=utf-8");
} else { } else {
fprintf(stderr, "can only handle UTF8_STRING targets...\n"); weston_log("can only handle UTF8_STRING targets...\n");
weston_wm_send_selection_notify(wm, XCB_ATOM_NONE); weston_wm_send_selection_notify(wm, XCB_ATOM_NONE);
} }
} }
@ -553,7 +553,7 @@ weston_wm_handle_xfixes_selection_notify(struct weston_wm *wm,
struct weston_compositor *compositor; struct weston_compositor *compositor;
uint32_t serial; uint32_t serial;
printf("xfixes selection notify event: owner %d\n", weston_log("xfixes selection notify event: owner %d\n",
xfixes_selection_notify->owner); xfixes_selection_notify->owner);
if (xfixes_selection_notify->owner == XCB_WINDOW_NONE) { if (xfixes_selection_notify->owner == XCB_WINDOW_NONE) {
@ -577,7 +577,7 @@ weston_wm_handle_xfixes_selection_notify(struct weston_wm *wm,
* answer TIMESTAMP conversion requests correctly. */ * answer TIMESTAMP conversion requests correctly. */
if (xfixes_selection_notify->owner == wm->selection_window) { if (xfixes_selection_notify->owner == wm->selection_window) {
wm->selection_timestamp = xfixes_selection_notify->timestamp; wm->selection_timestamp = xfixes_selection_notify->timestamp;
fprintf(stderr, "our window, skipping\n"); weston_log("our window, skipping\n");
return; return;
} }
@ -641,7 +641,7 @@ weston_wm_set_selection(struct wl_listener *listener, void *data)
end = (const char **) end = (const char **)
((char *) source->mime_types.data + source->mime_types.size); ((char *) source->mime_types.data + source->mime_types.size);
while (p < end) { while (p < end) {
fprintf(stderr, " %s\n", *p); weston_log(" %s\n", *p);
if (strcmp(*p, "text/plain") == 0 || if (strcmp(*p, "text/plain") == 0 ||
strcmp(*p, "text/plain;charset=utf-8") == 0) strcmp(*p, "text/plain;charset=utf-8") == 0)
has_text_plain = 1; has_text_plain = 1;

@ -36,6 +36,7 @@
#include "../../shared/cairo-util.h" #include "../../shared/cairo-util.h"
#include "../compositor.h" #include "../compositor.h"
#include "../log.h"
#include "xserver-server-protocol.h" #include "xserver-server-protocol.h"
#include "hash.h" #include "hash.h"
@ -149,13 +150,13 @@ dump_property(struct weston_wm *wm,
int width, len; int width, len;
uint32_t i; uint32_t i;
width = fprintf(stderr, "%s: ", get_atom_name(wm->conn, property)); width = weston_log_continue("%s: ", get_atom_name(wm->conn, property));
if (reply == NULL) { if (reply == NULL) {
fprintf(stderr, "(no reply)\n"); weston_log_continue("(no reply)\n");
return; return;
} }
width += fprintf(stderr, width += weston_log_continue(
"%s/%d, length %d (value_len %d): ", "%s/%d, length %d (value_len %d): ",
get_atom_name(wm->conn, reply->type), get_atom_name(wm->conn, reply->type),
reply->format, reply->format,
@ -164,7 +165,7 @@ dump_property(struct weston_wm *wm,
if (reply->type == wm->atom.incr) { if (reply->type == wm->atom.incr) {
incr_value = xcb_get_property_value(reply); incr_value = xcb_get_property_value(reply);
fprintf(stderr, "%d\n", *incr_value); weston_log_continue("%d\n", *incr_value);
} else if (reply->type == wm->atom.utf8_string || } else if (reply->type == wm->atom.utf8_string ||
reply->type == wm->atom.string) { reply->type == wm->atom.string) {
text_value = xcb_get_property_value(reply); text_value = xcb_get_property_value(reply);
@ -172,23 +173,23 @@ dump_property(struct weston_wm *wm,
len = 40; len = 40;
else else
len = reply->value_len; len = reply->value_len;
fprintf(stderr, "\"%.*s\"\n", len, text_value); weston_log_continue("\"%.*s\"\n", len, text_value);
} else if (reply->type == XCB_ATOM_ATOM) { } else if (reply->type == XCB_ATOM_ATOM) {
atom_value = xcb_get_property_value(reply); atom_value = xcb_get_property_value(reply);
for (i = 0; i < reply->value_len; i++) { for (i = 0; i < reply->value_len; i++) {
name = get_atom_name(wm->conn, atom_value[i]); name = get_atom_name(wm->conn, atom_value[i]);
if (width + strlen(name) + 2 > 78) { if (width + strlen(name) + 2 > 78) {
fprintf(stderr, "\n "); weston_log_continue("\n ");
width = 4; width = 4;
} else if (i > 0) { } else if (i > 0) {
width += fprintf(stderr, ", "); width += weston_log_continue(", ");
} }
width += fprintf(stderr, "%s", name); width += weston_log_continue("%s", name);
} }
fprintf(stderr, "\n"); weston_log_continue("\n");
} else { } else {
fprintf(stderr, "huh?\n"); weston_log_continue("huh?\n");
} }
} }
@ -340,7 +341,7 @@ weston_wm_handle_configure_request(struct weston_wm *wm, xcb_generic_event_t *ev
uint32_t mask, values[16]; uint32_t mask, values[16];
int x, y, width, height, i = 0; int x, y, width, height, i = 0;
fprintf(stderr, "XCB_CONFIGURE_REQUEST (window %d) %d,%d @ %dx%d\n", weston_log("XCB_CONFIGURE_REQUEST (window %d) %d,%d @ %dx%d\n",
configure_request->window, configure_request->window,
configure_request->x, configure_request->y, configure_request->x, configure_request->y,
configure_request->width, configure_request->height); configure_request->width, configure_request->height);
@ -390,7 +391,7 @@ weston_wm_handle_configure_notify(struct weston_wm *wm, xcb_generic_event_t *eve
window = hash_table_lookup(wm->window_hash, configure_notify->window); window = hash_table_lookup(wm->window_hash, configure_notify->window);
fprintf(stderr, "XCB_CONFIGURE_NOTIFY (%s window %d) %d,%d @ %dx%d\n", weston_log("XCB_CONFIGURE_NOTIFY (%s window %d) %d,%d @ %dx%d\n",
configure_notify->window == window->id ? "client" : "frame", configure_notify->window == window->id ? "client" : "frame",
configure_notify->window, configure_notify->window,
configure_notify->x, configure_notify->y, configure_notify->x, configure_notify->y,
@ -476,7 +477,7 @@ weston_wm_handle_map_request(struct weston_wm *wm, xcb_generic_event_t *event)
int x, y, width, height; int x, y, width, height;
if (our_resource(wm, map_request->window)) { if (our_resource(wm, map_request->window)) {
fprintf(stderr, "XCB_MAP_REQUEST (window %d, ours)\n", weston_log("XCB_MAP_REQUEST (window %d, ours)\n",
map_request->window); map_request->window);
return; return;
} }
@ -516,7 +517,7 @@ weston_wm_handle_map_request(struct weston_wm *wm, xcb_generic_event_t *event)
xcb_configure_window(wm->conn, window->id, xcb_configure_window(wm->conn, window->id,
XCB_CONFIG_WINDOW_BORDER_WIDTH, values); XCB_CONFIG_WINDOW_BORDER_WIDTH, values);
fprintf(stderr, "XCB_MAP_REQUEST (window %d, %p, frame %d)\n", weston_log("XCB_MAP_REQUEST (window %d, %p, frame %d)\n",
window->id, window, window->frame_id); window->id, window, window->frame_id);
xcb_map_window(wm->conn, map_request->window); xcb_map_window(wm->conn, map_request->window);
@ -539,12 +540,12 @@ weston_wm_handle_map_notify(struct weston_wm *wm, xcb_generic_event_t *event)
xcb_map_notify_event_t *map_notify = (xcb_map_notify_event_t *) event; xcb_map_notify_event_t *map_notify = (xcb_map_notify_event_t *) event;
if (our_resource(wm, map_notify->window)) { if (our_resource(wm, map_notify->window)) {
fprintf(stderr, "XCB_MAP_NOTIFY (window %d, ours)\n", weston_log("XCB_MAP_NOTIFY (window %d, ours)\n",
map_notify->window); map_notify->window);
return; return;
} }
fprintf(stderr, "XCB_MAP_NOTIFY (window %d)\n", map_notify->window); weston_log("XCB_MAP_NOTIFY (window %d)\n", map_notify->window);
} }
static void static void
@ -554,8 +555,7 @@ weston_wm_handle_unmap_notify(struct weston_wm *wm, xcb_generic_event_t *event)
(xcb_unmap_notify_event_t *) event; (xcb_unmap_notify_event_t *) event;
struct weston_wm_window *window; struct weston_wm_window *window;
fprintf(stderr, weston_log("XCB_UNMAP_NOTIFY (window %d, event %d%s)\n",
"XCB_UNMAP_NOTIFY (window %d, event %d%s)\n",
unmap_notify->window, unmap_notify->window,
unmap_notify->event, unmap_notify->event,
our_resource(wm, unmap_notify->window) ? ", ours" : ""); our_resource(wm, unmap_notify->window) ? ", ours" : "");
@ -677,10 +677,10 @@ weston_wm_handle_property_notify(struct weston_wm *wm, xcb_generic_event_t *even
if (window) if (window)
window->properties_dirty = 1; window->properties_dirty = 1;
fprintf(stderr, "XCB_PROPERTY_NOTIFY: window %d, ", weston_log("XCB_PROPERTY_NOTIFY: window %d, ",
property_notify->window); property_notify->window);
if (property_notify->state == XCB_PROPERTY_DELETE) if (property_notify->state == XCB_PROPERTY_DELETE)
fprintf(stderr, "deleted\n"); weston_log("deleted\n");
else else
read_and_dump_property(wm, property_notify->window, read_and_dump_property(wm, property_notify->window,
property_notify->atom); property_notify->atom);
@ -699,7 +699,7 @@ weston_wm_window_create(struct weston_wm *wm,
window = malloc(sizeof *window); window = malloc(sizeof *window);
if (window == NULL) { if (window == NULL) {
fprintf(stderr, "failed to allocate window\n"); weston_log("failed to allocate window\n");
return; return;
} }
@ -730,8 +730,7 @@ weston_wm_handle_create_notify(struct weston_wm *wm, xcb_generic_event_t *event)
xcb_create_notify_event_t *create_notify = xcb_create_notify_event_t *create_notify =
(xcb_create_notify_event_t *) event; (xcb_create_notify_event_t *) event;
fprintf(stderr, weston_log("XCB_CREATE_NOTIFY (window %d, width %d, height %d%s%s)\n",
"XCB_CREATE_NOTIFY (window %d, width %d, height %d%s%s)\n",
create_notify->window, create_notify->window,
create_notify->width, create_notify->height, create_notify->width, create_notify->height,
create_notify->override_redirect ? ", override" : "", create_notify->override_redirect ? ", override" : "",
@ -752,7 +751,7 @@ weston_wm_handle_destroy_notify(struct weston_wm *wm, xcb_generic_event_t *event
(xcb_destroy_notify_event_t *) event; (xcb_destroy_notify_event_t *) event;
struct weston_wm_window *window; struct weston_wm_window *window;
fprintf(stderr, "XCB_DESTROY_NOTIFY, win %d, event %d%s\n", weston_log("XCB_DESTROY_NOTIFY, win %d, event %d%s\n",
destroy_notify->window, destroy_notify->window,
destroy_notify->event, destroy_notify->event,
our_resource(wm, destroy_notify->window) ? ", ours" : ""); our_resource(wm, destroy_notify->window) ? ", ours" : "");
@ -771,8 +770,7 @@ weston_wm_handle_reparent_notify(struct weston_wm *wm, xcb_generic_event_t *even
(xcb_reparent_notify_event_t *) event; (xcb_reparent_notify_event_t *) event;
struct weston_wm_window *window; struct weston_wm_window *window;
fprintf(stderr, weston_log("XCB_REPARENT_NOTIFY (window %d, parent %d, event %d)\n",
"XCB_REPARENT_NOTIFY (window %d, parent %d, event %d)\n",
reparent_notify->window, reparent_notify->window,
reparent_notify->parent, reparent_notify->parent,
reparent_notify->event); reparent_notify->event);
@ -842,7 +840,7 @@ weston_wm_handle_client_message(struct weston_wm *wm,
window = hash_table_lookup(wm->window_hash, client_message->window); window = hash_table_lookup(wm->window_hash, client_message->window);
fprintf(stderr, "XCB_CLIENT_MESSAGE (%s %d %d %d %d %d)\n", weston_log("XCB_CLIENT_MESSAGE (%s %d %d %d %d %d)\n",
get_atom_name(wm->conn, client_message->type), get_atom_name(wm->conn, client_message->type),
client_message->data.data32[0], client_message->data.data32[0],
client_message->data.data32[1], client_message->data.data32[1],
@ -865,7 +863,7 @@ weston_wm_handle_button(struct weston_wm *wm, xcb_generic_event_t *event)
struct theme *t = wm->theme; struct theme *t = wm->theme;
int width, height; int width, height;
fprintf(stderr, "XCB_BUTTON_%s (detail %d)\n", weston_log("XCB_BUTTON_%s (detail %d)\n",
button->response_type == XCB_BUTTON_PRESS ? button->response_type == XCB_BUTTON_PRESS ?
"PRESS" : "RELEASE", button->detail); "PRESS" : "RELEASE", button->detail);
@ -946,7 +944,7 @@ weston_wm_handle_event(int fd, uint32_t mask, void *data)
weston_wm_handle_destroy_notify(wm, event); weston_wm_handle_destroy_notify(wm, event);
break; break;
case XCB_MAPPING_NOTIFY: case XCB_MAPPING_NOTIFY:
fprintf(stderr, "XCB_MAPPING_NOTIFY\n"); weston_log("XCB_MAPPING_NOTIFY\n");
break; break;
case XCB_PROPERTY_NOTIFY: case XCB_PROPERTY_NOTIFY:
weston_wm_handle_property_notify(wm, event); weston_wm_handle_property_notify(wm, event);
@ -1048,7 +1046,7 @@ wxs_wm_get_resources(struct weston_wm *wm)
wm->xfixes = xcb_get_extension_data(wm->conn, &xcb_xfixes_id); wm->xfixes = xcb_get_extension_data(wm->conn, &xcb_xfixes_id);
if (!wm->xfixes || !wm->xfixes->present) if (!wm->xfixes || !wm->xfixes->present)
fprintf(stderr, "xfixes not available\n"); weston_log("xfixes not available\n");
xfixes_cookie = xcb_xfixes_query_version(wm->conn, xfixes_cookie = xcb_xfixes_query_version(wm->conn,
XCB_XFIXES_MAJOR_VERSION, XCB_XFIXES_MAJOR_VERSION,
@ -1056,7 +1054,7 @@ wxs_wm_get_resources(struct weston_wm *wm)
xfixes_reply = xcb_xfixes_query_version_reply(wm->conn, xfixes_reply = xcb_xfixes_query_version_reply(wm->conn,
xfixes_cookie, NULL); xfixes_cookie, NULL);
printf("xfixes version: %d.%d\n", weston_log("xfixes version: %d.%d\n",
xfixes_reply->major_version, xfixes_reply->minor_version); xfixes_reply->major_version, xfixes_reply->minor_version);
free(xfixes_reply); free(xfixes_reply);
@ -1147,7 +1145,7 @@ weston_wm_create(struct weston_xserver *wxs)
} }
if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sv) < 0) { if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, sv) < 0) {
fprintf(stderr, "socketpair failed\n"); weston_log("socketpair failed\n");
hash_table_destroy(wm->window_hash); hash_table_destroy(wm->window_hash);
free(wm); free(wm);
return NULL; return NULL;
@ -1160,7 +1158,7 @@ weston_wm_create(struct weston_xserver *wxs)
/* xcb_connect_to_fd takes ownership of the fd. */ /* xcb_connect_to_fd takes ownership of the fd. */
wm->conn = xcb_connect_to_fd(sv[0], NULL); wm->conn = xcb_connect_to_fd(sv[0], NULL);
if (xcb_connection_has_error(wm->conn)) { if (xcb_connection_has_error(wm->conn)) {
fprintf(stderr, "xcb_connect_to_fd failed\n"); weston_log("xcb_connect_to_fd failed\n");
close(sv[0]); close(sv[0]);
hash_table_destroy(wm->window_hash); hash_table_destroy(wm->window_hash);
free(wm); free(wm);
@ -1206,7 +1204,7 @@ weston_wm_create(struct weston_xserver *wxs)
wl_signal_add(&wxs->compositor->activate_signal, wl_signal_add(&wxs->compositor->activate_signal,
&wm->activate_listener); &wm->activate_listener);
fprintf(stderr, "created wm\n"); weston_log("created wm\n");
return wm; return wm;
} }
@ -1231,7 +1229,7 @@ surface_destroy(struct wl_listener *listener, void *data)
container_of(listener, container_of(listener,
struct weston_wm_window, surface_destroy_listener); struct weston_wm_window, surface_destroy_listener);
fprintf(stderr, "surface for xid %d destroyed\n", window->id); weston_log("surface for xid %d destroyed\n", window->id);
} }
static struct weston_wm_window * static struct weston_wm_window *
@ -1351,11 +1349,11 @@ xserver_set_window_id(struct wl_client *client, struct wl_resource *resource,
window = hash_table_lookup(wm->window_hash, id); window = hash_table_lookup(wm->window_hash, id);
if (window == NULL) { if (window == NULL) {
fprintf(stderr, "set_window_id for unknown window %d\n", id); weston_log("set_window_id for unknown window %d\n", id);
return; return;
} }
fprintf(stderr, "set_window_id %d for surface %p\n", id, surface); weston_log("set_window_id %d for surface %p\n", id, surface);
weston_wm_window_read_properties(window); weston_wm_window_read_properties(window);

Loading…
Cancel
Save