Commit Graph

1746 Commits

Author SHA1 Message Date
Markus Ongyerth cde0f454b3 Clean up the gbm/egl as well 2018-01-29 11:49:31 +01:00
Markus Ongyerth 2cdb646531 relases gbm buffers on init
The wlr_drm_surface_init function is called (upon others) when the drm
mode is changed.
When the surface was used previously this replaced the gbm_surface, but
did not replace the gbm buffers (front/back).
With this, wlr_drm_surface_get_from never set up the new buffers with
the new glViewport because surf->front existed.

This frees the buffers to get new buffers on the new surface with the
new viewport.
2018-01-29 11:29:54 +01:00
Drew DeVault 60b2d969e0
Merge pull request #591 from emersion/fix-data-source-notify-finish
Fix assertion failed in data_source_notify_finish
2018-01-28 15:54:21 -05:00
emersion 5bbff20b8d
Fix assertion failed in data_source_notify_finish 2018-01-28 21:48:05 +01:00
Drew DeVault f0b3a71fbc
Merge pull request #590 from pks-t/pks/rootston-wo-xwayland
Fix building rootston without XWayland
2018-01-28 15:05:31 -05:00
Patrick Steinhardt 41ec686693 meson: add systemd/elogind backends only if enabled
Right now, we are adding systemd and elogind backends to the build
system as soon as their libraries are found on the build system.
Instead, we should only add them if the libraries have been found _and_
the user has actually requested them to be included.
2018-01-28 16:14:38 +00:00
Patrick Steinhardt 91c034d164 travis: add job building wlroots without various options
Recently, the support for building rootston without XWayland was broken.
While the breakage was easily fixable, the more important problem is
that actually nobody seems to ever compile wlroots without XWayland,
causing silent breakage. This problem can easily be handled by the CI
system: in addition to the existing job which enables XWayland, add a
second job which compiles wlroots without XWayland. This will catch
breakage at a much earlier stage.

Catching broken builds without XWayland support obviously only covers
one part of a greater issue, as all the other options may cause our
builds to break, too. While we cannot test each combination, we can at
least make sure to have one build with all options enabled and one with
all options disabled.
2018-01-28 16:14:38 +00:00
Patrick Steinhardt d05143950b rootston: move together XWayland setup code
The XWayland code for creating the cursor as well as creating the
surface itself are currently split up into two ifdef'ed sections in
`desktop_create()`. Move together these two sections in order to avoid
having multiple ifdefs as well as making it clearer that they do in fact
serve the same purpose of setting up the XWayland environment.
2018-01-28 12:12:33 +00:00
Patrick Steinhardt 52cb19d99d rootston: fix compilation without XWayland support
In case wlroots is not being compiled with XWayland support, we will not
have an xwayland surface in our roots view. While we make sure to pay
attention to that in some places, we are not being consistent and try to
access the xwayland surface in other places. Obviously, this leads to a
compiler error due to the field not being present.

Fix the issue by sprinkling in a few additional ifdefs where required.
2018-01-28 12:07:15 +00:00
Drew DeVault facc5ef93a
Merge pull request #588 from agx/arm
Fix warnings on arm-linux
2018-01-27 14:14:12 -05:00
Guido Günther d7dfbd23fa drm: Use ptrdiff_t instead of intmax_t in format string
since we're looking at pointer differences.

Otherwise the build fails on arm like

In file included from ../backend/drm/drm.c:19:0:
../include/wlr/util/log.h:34:17: error: format '%jd' expects argument of type 'intmax_t', but argument 7 has type 'int' [-Werror=format=]
  _wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
                 ^
../backend/drm/drm.c:462:2: note: in expansion of macro 'wlr_log'
  wlr_log(L_DEBUG, "%s: crtc=%ju ovr=%jd pri=%jd cur=%jd", conn->output.name,
  ^~~~~~~
../backend/drm/drm.c:462:39: note: format string is defined here
  wlr_log(L_DEBUG, "%s: crtc=%ju ovr=%jd pri=%jd cur=%jd", conn->output.name,
                                     ~~^
                                     %d
2018-01-27 12:29:56 +01:00
Guido Günther 1633b8d793 wlr_keyboard: use correct printf format string for keymap_size
keymap_size is a size_t. Otherwise the build fails on arm like

../types/wlr_keyboard.c: In function 'wlr_keyboard_set_keymap':
../include/wlr/util/log.h:34:17: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Werror=format=]
  _wlr_log(verb, "[%s:%d] " fmt, _strip_path(__FILE__), __LINE__, ##__VA_ARGS__)
                 ^
../types/wlr_keyboard.c:218:3: note: in expansion of macro 'wlr_log'
   wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
   ^~~~~~~
../types/wlr_keyboard.c:218:50: note: format string is defined here
   wlr_log(L_ERROR, "creating a keymap file for %lu bytes failed", kb->keymap_size);
                                                ~~^
                                                %u
2018-01-27 12:23:26 +01:00
emersion 174d1aa81b
Merge pull request #585 from agx/meson
meson: add tags and ctags targets
2018-01-26 17:04:30 +01:00
Guido Günther e5dacbae5d meson: add ctags and etags targets
to create tag files. Idea taken from systemd.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2018-01-26 17:00:43 +01:00
Drew DeVault ab738256ac Remove vim stuff from .gitignore
If this affects you put this in your vimrc:

set backupdir=~/.cache
set directory=~/.cache
2018-01-26 10:06:07 -05:00
Drew DeVault a0351fb5d7
Merge pull request #584 from VincentVanlaer/drm-segfault
Clean up session signal handler on drm init fail
2018-01-24 15:39:47 -05:00
emersion 4dd214c0d3
Merge pull request #583 from agx/meson
meson: print enabled options
2018-01-24 18:40:05 +01:00
Vincent Vanlaer 72507f9820 Clean up session signal handler on drm init fail 2018-01-24 18:27:53 +01:00
Guido Günther 66ab1a98a0 meson: print enabled options
This makes it simpler to figure out what was enabled.
2018-01-24 18:24:13 +01:00
emersion 7a2e9a17ba
Merge pull request #579 from Ongy/dpms_decouple
decouples outputenable state and wl_output global
2018-01-24 10:57:35 +01:00
Markus Ongyerth f946c10cb1 re-adds wlr_output_update_enabled
Re-add the wlr_output_update_enabled to make sure
wlr_output::events.enable is called when the output enabled state
changes.
2018-01-24 10:23:48 +01:00
Tony Crisci c09c2dfbc4
Merge pull request #570 from acrisci/decorations
Decorations
2018-01-23 18:05:41 -05:00
Markus Ongyerth 3cf7225cec decouples outputenable state and wl_output global
This decouples wlr_output_enable and the wl_global.
The previously internal functions wlr_output_(destroy/create)_global are
exposed and used automatically in the wlr_output_layout to create/tear
down the global.
The compositor can handle them itself if it wants to, but I think this
is the right moment to create/destroy the wl_output when the
wlr_output_layout is used.
2018-01-23 17:40:12 +01:00
Tony Crisci a4d601e3d6 decorations: respect motif hints 2018-01-23 08:19:00 -05:00
Tony Crisci fc627afd18 fix decorations on wayland backend 2018-01-23 08:07:03 -05:00
Drew DeVault 03440bbd83
Merge pull request #578 from emersion/fix-cursor-output-layout-destroy
cursor: fix segfault when destroying a wlr_output_layout with a wlr_cursor attached
2018-01-22 08:56:47 -05:00
emersion f5507ec677
cursor: fix segfault when destroying a wlr_output_layout with a wlr_cursor attached 2018-01-22 09:29:52 +01:00
Tony Crisci 9d87d4e336 take roots_view out of input.h 2018-01-21 19:09:35 -05:00
Tony Crisci 9076ecd91f take seat.h out of view.h 2018-01-21 19:08:40 -05:00
Tony Crisci 85a6939cf2 rename matrix model box to project box 2018-01-21 19:03:10 -05:00
Tony Crisci e8c407d00e rename wlr_deco_part to roots_deco_part 2018-01-21 18:46:19 -05:00
Tony Crisci 54776dd19c fix cursor issue 2018-01-21 18:37:36 -05:00
Tony Crisci 4183271475 make it work with rotation 2018-01-21 18:24:53 -05:00
emersion e5fa4d8e8e
Merge pull request #576 from Timidger/bugfix/crtc-null-check-in-set-cursor
Check if crtc is null in in cursor cleanup when output removed
2018-01-21 22:00:48 +01:00
Tony Crisci d13114520a move matrix model code to matrix.h 2018-01-21 15:53:42 -05:00
Timidger f8b9f44ff5
Add con/crtc null check to move_cursor in drm 2018-01-21 15:47:02 -05:00
Timidger 9d4ea146b6
Added crtc null check for other drm funcs 2018-01-21 15:37:23 -05:00
Tony Crisci 7474f00591 Merge branch 'master' into decorations 2018-01-21 15:09:33 -05:00
Timidger 4478cf1ddc
Fixes #575 2018-01-21 14:57:24 -05:00
emersion 79f2c87193
Merge pull request #574 from jsshandle/master
Improve code style in accordance with CONTRIBUTING.md
2018-01-21 17:07:25 +01:00
Johannes Schramm 47eb478c35 style: add else keywords in xwm.c 2018-01-21 17:04:23 +01:00
Johannes Schramm e37ebf6869 style: add comment to empty while loop in logind.c 2018-01-21 17:00:15 +01:00
Johannes Schramm dcc743047b style: include brackets for if/while/for, even if it's a single statement 2018-01-21 16:28:21 +01:00
Drew DeVault 1fbd6cb0f0
Merge pull request #553 from acrisci/modifier-fixes
compositor modifier hooks
2018-01-17 09:38:58 -05:00
Tony Crisci b6f29e87e8 dont use pointer for modifiers 2018-01-17 08:31:15 -05:00
Tony Crisci 43896af90f Merge branch 'master' into modifier-fixes 2018-01-17 08:27:47 -05:00
Tony Crisci f2698a8960
Merge pull request #569 from emersion/hide-seat-cursor
rootston: hide cursor if seat has only keyboards
2018-01-17 08:20:33 -05:00
emersion 6e9c652fc4
rootston: hide cursor if seat has no pointer 2018-01-17 14:01:13 +01:00
Tony Crisci 61bd79200c basic decorations 2018-01-16 19:04:26 -05:00
emersion 7f56ccd713
rootston: set real seat capabilities 2018-01-16 20:33:55 +01:00