Commit Graph

5496 Commits

Author SHA1 Message Date
Rico Tzschichholz
b851db113e broadway: Add rawinflate.min.js to EXTRA_DIST
In addition to 149b3af105
2013-11-07 17:44:08 +01:00
Alexander Larsson
149b3af105 broadway: Use zlib compression for broadway buffers
This imports the MIT licensed js unzip from:
https://github.com/imaya/zlib.js

and uses it to decompress in js on the client side.
2013-11-07 14:09:53 +01:00
Alexander Larsson
5ef114ba42 Switch from sending png frames to our own encoding
This is based on the rolling hashes code from
http://cgit.freedesktop.org/~krh/weston/log/?h=remote

It works by incrementally calculating hashes for every 32x32 block
in each frame sent, and then refering back to such blocks when
encoding the next frame. This means we detect when a block matches
an existing block in the previous frame in a different position.
This is great for detecting scrolling, which we need now that
the gdk level scrolling is neutered.
2013-11-07 14:09:53 +01:00
Alexander Larsson
bbfe7e0e69 broadway: Always use client side decorations 2013-11-07 14:09:53 +01:00
Alexander Larsson
c6a3c0e4eb broadway: Implement gdk_window_begin_move_drag() 2013-11-07 14:09:53 +01:00
Alexander Larsson
3be4038d02 broadway: Add gdkbroadwaydisplay.h include 2013-11-07 14:09:53 +01:00
Alexander Larsson
6e308dc7c7 broadway: Simplify frame handling and make it ARGB32
This completely removes the delta compression and makes all buffers ARGB.
This is obviously slower, but this will be re-integrated later.
2013-11-07 14:09:53 +01:00
Alexander Larsson
b436f06a94 broadway: Remove window translation code
This is no longer used as we neutered gdk_window_scroll & co.
2013-11-07 14:09:53 +01:00
Jasper St. Pierre
0a40951f40 Revert "broadway: Fix gcc warning"
This reverts commit f0d3d72574.
2013-11-05 11:14:01 -05:00
Benjamin Otte
f0d3d72574 broadway: Fix gcc warning 2013-11-04 16:36:11 +01:00
Manuel Bachmann
55dba74a24 Win32 : fixes Bug 679019 (Popup menu misplaced in dual monitor) 2013-11-01 17:59:05 +01:00
Cody Russell
46fbefe795 Win32: Honor the geometry when GDK_HINT_MAX_SIZE is set.
The MINMAXINFO struct was being populated based upon geometry hints when
GDK_HINT_MAX_SIZE flag was enabled, then promptly having its values blown
away with default values.

https://bugzilla.gnome.org/show_bug.cgi?id=711110
2013-10-31 15:54:28 -05:00
Jasper St. Pierre
e109f10017 broadway-server: Fix signedness issue 2013-10-31 12:20:04 -04:00
Manuel Bachmann
572e58123e Broadway : Replaced be32toh() with win32-compatible ntohl() 2013-10-31 00:43:58 +01:00
Jasper St. Pierre
ad59827ec8 Revert "wayland: Support always-on-top / sticky windows"
This reverts commit b3cffb85f3.

Pushed by accident.
2013-10-29 17:13:03 -04:00
Jasper St. Pierre
b3cffb85f3 wayland: Support always-on-top / sticky windows
Use the new gtk-shell APIs available in mutter to add support for this.

https://bugzilla.gnome.org/show_bug.cgi?id=710056
2013-10-28 18:03:26 -04:00
Jasper St. Pierre
1ace4b886d wayland: Always attach null surfaces on hide
Destroying the surface isn't really appropriate, as the GtkWindow
is still realized and we won't necessarily know how to reconstruct it.
2013-10-28 18:03:26 -04:00
Jasper St. Pierre
301d4ee681 wayland: Remove a useless else-if
We already check for impl->surface as the first branch we do.
2013-10-28 18:03:26 -04:00
Jasper St. Pierre
224822c831 wayland: Make the code here a bit clearer
By grouping the destroy and field clear together.
2013-10-28 18:03:26 -04:00
Jasper St. Pierre
84e3aa016f wayland: Ensure we keep our internal state when hiding a window with no surface
We need to keep track of the mapped variable here.
2013-10-28 18:03:26 -04:00
Matthias Clasen
c46aca463a Respect deprecated button images setting
I have been convinced that it is a bad idea to change the behaviour
at the same time as deprecating it, so go back to respecting the
Gtk/ButtonImages xsetting in buttons created with
gtk_button_new_from_stock() when it is set.

The setting as well as the function are still deprecated, and the
default value of the setting will remain FALSE.
2013-10-24 20:35:55 -04:00
Matthias Clasen
627a03683f Respect deprecated menu images setting
I have been convinced that it is a bad idea to change the behaviour
at the same time as deprecating it, so go back to respecting the
Gtk/MenuImages xsetting in GtkImageMenuItem when it is set.

The setting as well as the widget are still deprecated, and the
default value of the setting will remain FALSE.
2013-10-24 20:03:02 -04:00
Olivier Brunel
e735da37f6 Fix key "Page_Down" identified as "Next"
Since 49c4ad2f the order between "Page_Down" & "Next" had been changed (due to
sorting) and this resulted in the Page Down key being identified as "Next"
instead of "Page_Down"

"Page_Up" wasn't affected, since it comes before "Prior"

Signed-off-by: Olivier Brunel <jjk@jjacky.com>

https://bugzilla.gnome.org/show_bug.cgi?id=710411
2013-10-24 18:48:33 -04:00
Bastien Nocera
438cd857c4 all: Add names to timeouts
Add names to every timeout we setup, so it's easier to track their
usage, and debug possible misbehaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=710651
2013-10-23 13:31:18 +02:00
Jasper St. Pierre
809aab2c8e gdkwindow-x11: Don't set WM_TAKE_FOCUS if accept_focus is FALSE
Otherwise, we'll be in the "Globally Active" mode instead of the
"No Input" mode.

https://bugzilla.gnome.org/show_bug.cgi?id=710389
2013-10-21 13:43:14 -04:00
Bastien Nocera
c4c11a165d gdkevents.h: Mention _get_source_device()
It's too easy getting bitten by the ->device red herring, thinking
that it's the original input device the event originated from.

https://bugzilla.gnome.org/show_bug.cgi?id=709621
2013-10-15 21:31:53 -04:00
Matthias Clasen
0db75c6b10 Wayland: avoid accidental export of internal symbols
Some symbols in the generated Wayland code were getting
decorated with WL_EXPORT, causing them to show up in the
libgdk exports. We don't want that.

https://bugzilla.gnome.org/show_bug.cgi?id=710141
2013-10-15 19:44:49 -04:00
Matthias Clasen
73bae5b816 Wayland: fix a crash in opaque region handling
We may get a NULL region passed to the backend, which means
'nothing is opaque'. In that case, don't crash, but pass
the information on to the compositor.

http://bugzilla.gnome.org/show_bug.cgi?id=709854
2013-10-15 18:21:44 -04:00
Charles Reiss
4cf5ce2e08 Bug 709939 - monitor reconfiguration while GtkOffscreenWindows
exist triggers crash on quartz. Special case the position update
to ignore the off-screen windows.
2013-10-11 15:53:37 -07:00
Matthias Clasen
259c3c3699 Quell a compiler warning 2013-10-11 16:27:43 -04:00
Philip Chimento
0e4bac872c NULL check on default keymap
Ensure that Quartz's default keymap is not accessed before it is
created.
2013-10-11 11:14:32 -07:00
Hamish Mackenzie
d9cfe40aeb Fix infinite loop in gdkevents.c _gdk_event_queue_find_first 2013-10-11 11:06:23 -07:00
John Ralls
cf66cf906e Ensure src and dest are GdkWindows in _gdk_sythesize_crossing_events
Discovered via a crash because b's (dest's) toplevel was NULL;
ensuring that the dest is actually a GdkWindow or setting b to NULL
prevents that path from being taken.
2013-10-11 10:54:15 -07:00
John Ralls
46838a2fe2 Suppress frequent device assertions
Because send crossing event is usually called with a NULL source_device in quartz.
2013-10-10 15:37:27 -07:00
John Ralls
f86dc163b9 Quartz: Set the drag context target list
So that gdk_drag_context_list_targets() actually returns something.
2013-10-10 15:37:27 -07:00
Jasper St. Pierre
ddb4034e8e Fix GI warnings 2013-10-09 14:19:54 -04:00
Jasper St. Pierre
d7417580b7 broadway: Don't bother memdup-ing
If we're going to run off the end due to an invalid message,
we're going to run off the end. We'll protect this by doing
proper bounds checking in the future, but the malloc gives
us nothing for now.
2013-10-07 16:19:01 -04:00
Jasper St. Pierre
0d0ff40d2f broadway: Use a binary protocol to send to the server
This makes the protocol easier to inspect over the wire and makes all
commands fixed-length.
2013-10-07 16:19:01 -04:00
Jasper St. Pierre
eb1ab0dac2 broadway: Remove authentication support 2013-10-07 16:19:01 -04:00
Jasper St. Pierre
f2e30144f8 broadway: Remove support for old browsers
Require binary array buffers and modern WebSocket protocol support.
2013-10-07 16:19:01 -04:00
Lionel Landwerlin
e62a6dfdbc GdkWindowX11: Prevent non renderered window to be display by the compositor
When mapping a window for the first time, make sure the compositor
won't display it until we're done painting.

https://bugzilla.gnome.org/show_bug.cgi?id=702196
2013-09-26 22:16:53 +01:00
Benjamin Otte
3d7e0f3eb1 gdkcairo: Actually paint the pixbuf
I accidentally a line before committing
b41787bc78 - whoops.
2013-09-24 17:43:44 +02:00
Benjamin Otte
b41787bc78 gdkcairo: Don't require gtk_init() for set_source_pixbuf()
Instead of using the default display's root window's surface, use the
target surface of the passed in cairo_t to create the similar image from.

https://bugzilla.gnome.org/show_bug.cgi?id=708547
2013-09-24 16:42:48 +02:00
Benjamin Otte
1959e36066 gdkcairo: Split out a function
This is in preparation for the next patch.
2013-09-24 16:42:48 +02:00
Matthias Clasen
97acd7abb1 Introduce version macros for 3.12 2013-09-23 18:55:28 -04:00
Matthias Clasen
4b13b93394 Improve struct packing in GdkWindowImplWayland 2013-09-21 23:50:55 -04:00
Matthias Clasen
41f8ad5384 Document some Wayland apis 2013-09-17 01:16:13 -04:00
Matthias Clasen
5d33a7cb18 Trivial formatting fixes 2013-09-17 01:13:31 -04:00
Matthias Clasen
ca40ad1b1a Documentation fixes 2013-09-17 01:13:03 -04:00
Matthias Clasen
11ad337a29 Avoid a segfault when menus are re-shown under Wayland
The surface is destroyed when we hide a window, but
gdk_window_set_opaque_region can be called before the window is
shown again, so we need to ensure the surface exits.

https://bugzilla.gnome.org/show_bug.cgi?id=707328
2013-09-16 19:01:48 -04:00