summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* configure: Fix build on debian by avoiding bashisms in the test command.0.85.00.85Eric Anholt2012-02-091-20/+20
|
* configure: Set release version 0.85.0Kristian Høgsberg2012-02-091-1/+1
|
* Use dist-xz for tarballsKristian Høgsberg2012-02-091-1/+1
|
* Disable setuid install for distcheckKristian Høgsberg2012-02-091-0/+2
|
* configure: Change project to weston, set version to 0.85Kristian Høgsberg2012-02-091-4/+4
|
* smoke: Use normal window resize mechanismKristian Høgsberg2012-02-081-23/+35
|
* window: Don't set the window size in widget_set_size()Kristian Høgsberg2012-02-081-5/+0
| | | | | We propagate the toplevel widget size to the window size in the window.c resize code.
* smoke: fix the segment fault errorJuan Zhao2012-02-081-0/+12
| | | | | | | | | | Add widget_set_size in the initiate time to allow smoke get the correct surface later. Or it will report segment fault error because of the null surface. Also add resize_handler to not allow resizing just like flower. Signed-off-by: Juan Zhao <juan.j.zhao@linux.intel.com>
* cairo-util: Only look at first two bytes for jpegsKristian Høgsberg2012-02-081-3/+4
| | | | The next two bytes aren't fixed.
* terminal: run $SHELL if setPeter Hutterer2012-02-081-1/+6
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* configure.ac: fix cairo-glesv2 help textJesse Barnes2012-02-081-1/+1
| | | | | Finally figured out why --enable-cairo-gles2 wasn't working like configure --help said it should.
* configure: add libpng to client libsPekka Paalanen2012-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | http://lists.freedesktop.org/archives/wayland-devel/2012-January/001975.html reports a linking problem: /usr/bin/ld: libtoytoolkit.a(cairo-util.o): undefined reference to symbol 'png_set_filler@@PNG12_0' /usr/bin/ld: note: 'png_set_filler@@PNG12_0' is defined in DSO /usr/lib/i386-linux-gnu/libpng12.so.0 so try adding it to the linker command line /usr/lib/i386-linux-gnu/libpng12.so.0: could not read symbols: Invalid operation collect2: ld returned 1 exit status make[3]: [weston-terminal] Error 1 (ignored) A similar problem is diagnosed here: http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html As some distros are shipping linkers, that do not resolve symbols from implicitly linked libraries, check and link libpng explicitly. Cc: nerdopolis <bluescreen_avenger@verizon.net> Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* compositor-wayland: Hide cursor for compositor surfacesKristian Høgsberg2012-02-081-0/+2
|
* compositor-wayland: Destroy wl_callback in callback functionKristian Høgsberg2012-02-081-1/+2
|
* compositor: Drop setuid when launching clientsKristian Høgsberg2012-02-081-0/+3
|
* configure: toytoolkit GL apps depend on cairo-eglPekka Paalanen2012-02-081-2/+3
| | | | | | | | | Do not build toytoolkit applications that use GL, if Cairo-egl is not available. These applications (which happen to be also the full GL clients) do not work at all without Cairo-egl, and fail at runtime with "unable to acquire window surface". Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* Update config files to reflect new terminal name, weston-terminalScott Moreau2012-02-082-18/+18
| | | | krh: Updated to use /usr/bin/weston-terminal.
* compositor: Allow attaching null bufferKristian Høgsberg2012-02-081-5/+15
| | | | | Attaching a null buffer is allowed and takes the surface back to the unattached state it starts in.
* Implement CONFIG_KEY_UNSIGNED_INTEGERScott Moreau2012-01-273-5/+16
| | | | | | strtol() does not work when trying to assign 32 bits of data into a regular signed int on 32 bit systems. Use corresponding strtoul() instead.
* desktop-shell: print what failed on execPekka Paalanen2012-01-271-1/+1
| | | | Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* window: fix resizing of windows backed by shm buffersAnder Conselvan de Oliveira2012-01-271-2/+1
| | | | | | | | | | | | | | | When window_attach_surface() calls window_get_resize_dx_dy(), window->resize_edges is cleared. However if there is already a pending surface to be attached, the resize won't be done until the following call to window_attach_surface(). In this next call, since resize_edges is now zero, the top-left corner of the window will be unchanged. If the user is resizing from the top or left border, this causes the resize to happen in the wrong direction. This patch changes window_attach_surface() to call window_get_resize_dx_dy() only if an attach will actually happen. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
* window: Handle data_device.selection events with offer=NULLKristian Høgsberg2012-01-271-3/+5
| | | | This happens when the current selection data_offer is removed.
* cairo-util: Don't anger png.h by including setjmp.hKristian Høgsberg2012-01-261-1/+0
| | | | Older libpngs are a bit fussy about this, apparently.
* window: Don't crash when window with focus_widget is destroyedKristian Høgsberg2012-01-261-0/+3
| | | | We would try to deliver a leave event to a widget in a destroyed window.
* desktop-shell: Build in sensible defaultsKristian Høgsberg2012-01-256-15/+32
| | | | | This adds a default background pattern and a terminal launcher in case we don't have a config file.
* desktop-shell: Support tiling of background imagesKristian Høgsberg2012-01-251-7/+31
|
* cairo-util: Add png loader and image type sniffingKristian Høgsberg2012-01-254-13/+186
|
* desktop-shell: Fall back to solid color if there's no background imageKristian Høgsberg2012-01-252-2/+9
|
* cairo-util: Return NULL instead of exit() on jpeg load failureKristian Høgsberg2012-01-251-0/+13
|
* Install terminal as weston-terminalKristian Høgsberg2012-01-251-7/+18
|
* Revert "weston: Drop priviledges early, and seteuid when needed"Kristian Høgsberg2012-01-243-20/+0
| | | | | | | | This reverts commit fc6ccb868fa735ee9c6592806f381aa1262bf0b2. We still need root permissions for drmDrop/SetMaster. Without integration with ConsoleKit or systemd we also don't have access to /dev/dri/cardX in the case where we open a new VT.
* weston: Drop priviledges early, and seteuid when neededBenjamin Franzke2012-01-243-0/+20
|
* setuid: Operate relative to $(DESTDIR)Benjamin Franzke2012-01-241-2/+2
|
* window: Fix sending button events when there's no grabNeil Roberts2012-01-241-5/+5
| | | | | | | | | | | | | | | | | | | The code which sends the button events was checking whether there is a focus widget with a button handler but then always sending the button event to the grab widget. If the grab widget is different from the focus widget at this point then it will check the wrong widget for a button handler and potentially crash. It is also possible for there to be no grab widget here in the following situation: 1. Press and hold down the left mouse button 2. Press and hold down the right mouse button 3. Release the left mouse button 4. Release the right mouse button In this case the grab will be released at step 3 because the code only keeps track of the grab for one button. Then it will try to send the release event for the right mouse button to a NULL widget so it will crash.
* evdev: fix uninitialised pointer valueTiago Vignatti2012-01-201-0/+2
| | | | | | | | | | | | ==30224== Conditional jump or move depends on uninitialised value(s) ==30224== at 0x40EE3A0: evdev_flush_motion (evdev.c:284) ==30224== by 0x40EE6DC: evdev_input_device_data (evdev.c:352) ==30224== by 0x4034710: wl_event_source_fd_dispatch (event-loop.c:76) ==30224== by 0x4035171: wl_event_loop_dispatch (event-loop.c:462) ==30224== by 0x4032F76: wl_display_run (wayland-server.c:785) ==30224== by 0x8050972: main (compositor.c:2183) Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
* gears: Make window transparentKristian Høgsberg2012-01-191-2/+2
| | | | We need this for the window decorations.
* window: Use CAIRO_OPERATOR_OVER for rendering the menuKristian Høgsberg2012-01-191-1/+2
| | | | | We forgot to switch back from CAIRO_OPERATOR_SOURCE, which is broken, but also hits a broken fallback in cairo-gl.
* configure: Add --enable-setuid-installKristian Høgsberg2012-01-192-0/+21
| | | | This adds support for installing the compositor setuid.
* compositor: initialise segv_action.sa_maskPekka Paalanen2012-01-191-0/+1
| | | | | | Valgrind complained sa_mask member is not initialised, fix that. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* desktop-shell: don't crash on menuPekka Paalanen2012-01-191-1/+7
| | | | | | | Add dummy menu callback function, so we don't crash after every time someone opens the menu. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* shell: deal with weston_compositor_pick_surface() = NULLPekka Paalanen2012-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I could crash Weston by trying to open another menu from a panel while one menu from it was already showing. Program received signal SIGSEGV, Segmentation fault. 0x00007ffff40a9872 in popup_grab_focus (grab=0x761968, time=4130706528, surface=0x0, x=-227, y=15) at shell.c:440 440 if (surface->resource.client == client) { (gdb) bt 0 0x00007ffff40a9872 in popup_grab_focus (grab=0x761968, time=4130706528, surface=0x0, x=-227, y=15) at shell.c:440 1 0x0000000000406977 in weston_device_repick (device=0x70b4e0, time=4130706528) at compositor.c:360 2 0x0000000000406a36 in weston_compositor_repick (compositor=0x619960) at compositor.c:382 3 0x0000000000406ac8 in destroy_surface (resource=0x6fc6f0) at compositor.c:397 4 0x00007ffff7bd33d8 in destroy_resource (element=0x6fc6f0, data=0x7fffffffd9fc) at wayland-server.c:355 5 0x00007ffff7bd8d98 in for_each_helper (entries=0x757808, func=0x7ffff7bd332c <destroy_resource>, data=0x7fffffffd9fc) at wayland-util.c:264 6 0x00007ffff7bd8dd4 in wl_map_for_each (map=0x757808, func=0x7ffff7bd332c <destroy_resource>, data=0x7fffffffd9fc) at wayland-util.c:270 7 0x00007ffff7bd34dc in wl_client_destroy (client=0x7577d0) at wayland-server.c:385 8 0x00007ffff7bd2e36 in wl_client_connection_data (fd=17, mask=1, data=0x7577d0) at wayland-server.c:187 9 0x00007ffff7bd5bde in wl_event_source_fd_dispatch (source=0x74cda0, ep=0x7fffffffdae0) at event-loop.c:76 10 0x00007ffff7bd665b in wl_event_loop_dispatch (loop=0x618900, timeout=-1) at event-loop.c:462 11 0x00007ffff7bd42a9 in wl_display_run (display=0x6188b0) at wayland-server.c:785 12 0x000000000040b1e1 in main (argc=1, argv=0x7fffffffdef8) at compositor.c:2182 Modify popup_grab_focus() to deal with a NULL surface. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* window: menu leak fixesPekka Paalanen2012-01-194-36/+30
| | | | | | | | | | | | | | | | When a menu self-destructs, free also the widget and struct menu. As menus are self-destructing, it does not make sense to store the window pointer, since we cannot clear it automatically. Therefore, rename window_create_menu() to window_show_menu() that does not return the window pointer. It also calls window_schedule_redraw() internally. Fixes Valgrind reported memory leaks. The alternative would be to explicitly destroy the menu in application's menu callback. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* resizor: free the widget on destroyPekka Paalanen2012-01-191-0/+1
| | | | | | Plugs a memory leak. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* window: remove pointers to widget on destroyPekka Paalanen2012-01-191-3/+8
| | | | | | | | | | Input devices may hold a pointer to the widget being destroyed. Reset such pointers in widget_destroy(). This fixes a use-after-free in window_destroy(), if an application destroys its widgets before the window. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* window: destroy frame in window_destroy()Pekka Paalanen2012-01-191-0/+16
| | | | | | | | | | Fix a memory leak reported by Valgrind, by destroying the window decorations widget, if it exists. All widget pointers returned from toytoolkit to the application should be destroyed by the application explicitly. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* compositor: Flush surface damage to surface below on destroyKristian Høgsberg2012-01-181-0/+16
| | | | | | | | | | | | When we destroy a surface, we damage the surface below so that the area exposed by the disappearing surface will be repainted. However, if that surface also is destroyed, the damage information is lost and we fail to repaint that area. This commit introduces weston_surface_flush_damage(), which flushes the surface damage the the surface below when a surface is destroyed. When multiple surfaces are destroyed at the same time, the damage now accumulates and sinks down through the surface stack as it should.
* drm: Don't print warning if cursor stride isn't rightKristian Høgsberg2012-01-181-4/+6
| | | | | | gbm_bo_create_from_egl_image() should catch this based on the GBM_BO_USE_CURSOR_64X64 flag. It currently doesn't so we end up with a cursor buffer with invalid stride.
* clients: Allow compiling with the cairo glesv2 backendKristian Høgsberg2012-01-183-24/+52
| | | | This disables gears and wscreensaver, which use full GL.
* desktop-shell: fix the unlock dialog decorationsPekka Paalanen2012-01-181-1/+1
| | | | | | | | | | | The decorations were not responding, could not move or resize the dialog, and it painted with a black shade. When the dialog is created, schedule a resize instead of a repaint. The resize will initialise the widget tree, and let everything draw and work as it should. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* tty: Use SIGUSR1 for both enter and leave signalsKristian Høgsberg2012-01-181-23/+14
| | | | Now that we track has_vt, we can use the same handler for both enter and leave.