Commit Graph

2803 Commits

Author SHA1 Message Date
d1f5050262 Make disabled xinput work again 2009-05-29 16:45:06 +02:00
7372379c24 Initial version of input support 2009-05-29 16:39:12 +02:00
0b586a5ad7 Add support for client side graphics exposures in gdk_draw_drawable 2009-05-27 17:10:32 +02:00
44c7264bc7 Add _gdk_gc_get_exposures 2009-05-27 17:06:46 +02:00
8cb385cd31 Add support for visibility notification 2009-05-26 20:53:48 +02:00
6c76f8f6ce Add gdk_region_rect_equal to compare a region with a rect 2009-05-26 20:48:10 +02:00
8a689f2e15 Handle flushing implicit paint while there is a paint outstanding
If a native window or a window with a native subwindow is moved or resized
then the client window moves and implicit paints need to be flushed since
the native window move will copy/overwrite data. This may happen while there
is an outstanding paint if the move is inside an expose event (weird, but
flash embedded in webkit hit this).

Right now we're asserting here, but the right fix is to allow this but
to not flush the parts that are currently in a (non-implicit) paint. This
means we flush all results from previous not-yet-flushed exposes, but not
the ones being drawn.
2009-05-26 11:30:46 +02:00
7698daf97a Merge branch 'master' into client-side-windows
Conflicts:
	gdk/x11/gdkwindow-x11.c
2009-05-25 14:30:01 +02:00
96912b564f Avoid another case of treating None as an atom 2009-05-24 00:30:58 -04:00
375d19aa92 Avoid warnings when handling SelectionNotify
The property field in SelectionNotify events may be None instead
of an atom.
2009-05-17 20:41:49 -04:00
141ddd99f3 Avoid unintended side-effect in gdk_window_get_events
Calling gdk_window_get_events() had the side-effect of letting
property change notification through to the application, which
was not intended. Now we keep StructureNotify and PropertyNotify
filtered out when they were before. Reported in bug 582003.
2009-05-10 02:08:41 -04:00
4fc49fd8db Don't enforce property change events on the root window
The code in gdk_x11_window_set_events is only meant to enforce
property change events on child windows. Pointed out in bug 531490.
2009-05-10 01:54:43 -04:00
6fc6b8b4e8 Add diagnostics for XID collisions
This should help with diagnosing crashes caused by over-eager XID
reuse in Xlib, see bug 581526.
2009-05-05 19:29:05 -04:00
a398c840be Add git.mk to generate .gitignore files
Add four new doc templates that were not in repository.
2009-05-04 14:29:21 -04:00
6aa6338578 Fix handling of GDK_NONE
Don't intern "NONE" and warn if GDK_NONE is converted to an
X atom. Problem pointed out in bug 580511.
2009-05-03 21:38:54 -04:00
33f4ead506 Minor fix for GTK+ mediaLib code.
After doing some performance analysis, it was found that the GTK+ mediaLib code
triggers unnecessary lazy loading of dependent libraries.  The current code
uses RTLD_DEFAULT, RTLD_PROBE, RTLD_NEXT, and RTLD_SELF.  However, RTLD_PROBE
is all that is necessary, and avoids triggering the lazy loading.  So this
commit fixes the code to just use RTLD_PROBE.  (Bug 580678)
2009-04-29 18:52:32 -05:00
0e99a5849e Allow unsetting the icon title set with gdk_window_set_icon_name
Change gdk_window_set_icon_name to allow using NULL to unset a
previously set icon title, so that the icon title tracks the normal
title again. Bug #535557.
2009-04-20 14:53:51 +02:00
5261d14d6f Fix memory leak in gdkscreen-x11
When RandR 1.2 X driver doesn't return any usable multihead data the
monitors array is freed, without freeing the memory allocated by the array
elements before. Fixes bug #578354
2009-04-10 00:14:23 -04:00
de64faabeb Fix compilation with DirectFB 1.0
The code used a field introduced with DirectFB 1.2. Added a
compile-time version check to make it work with DirectFB 1.0.
2009-04-09 16:50:25 +02:00
4ecd6a0f89 Merge branch 'master' of ssh://alexl@git.gnome.org/git/gtk+ 2009-04-07 19:29:19 +02:00
87459ff86c Don't move global user time backwards
When setting the user_time on a specific app to something, make sure
we're not moving the global per-display user time backwards.
2009-04-07 15:37:40 +02:00
c338228a86 Bug 578094 - ProcessIdToSessionId needs to be declared as WINAPI
Patch by  Shixin Zeng.
2009-04-06 15:10:35 +03:00
1288ef1707 Grab changes 2009-04-02 10:16:30 +02:00
f4331caf83 grabs 2009-04-02 10:16:30 +02:00
49a0ec6e95 Updates 2009-04-02 10:16:30 +02:00
08961c4def Get width/height from GetSystemMetrics() 2009-04-02 10:16:30 +02:00
d64b51de4d Fix coordinates for background clearing when redirecting
Backport from svn of this fix
2009-04-02 10:16:30 +02:00
730a44a516 Tweak the click-through handling so active apps get it (but not inactive ones) 2009-04-02 10:16:30 +02:00
255756cfc8 Improve explicit drawing and flushing (fixes GtkRuler)
Use the same code path to get a CGContext for both gdk_draw_* and
gdk_cairo_create and make sure we unlockFocus in both cases. This
fixes the broken rendering in GtkRuler. Also use an average of flush
intervals when checking whether we can flush or not, since otherwise
we get too sensitive and block almost all explicit flushes that are
caused by mouse movements for example.
2009-04-02 10:16:30 +02:00
255ec543b1 Ensure offscreen windows are not used as non-toplevels 2009-04-02 10:16:30 +02:00
532818909c Move the new parts of GdkWindowObject to a private header
Unfortunately the old GdkWindowObject is public and accessed
from macros, etc. So, we publish a limited copy of GdkWindowObject
and use the full one internally when building gdk.
2009-04-02 10:16:30 +02:00
2c877d4c2d Remove offscreen hooks support
In the new world offscreen windows are not put in the hierarchy, but are
rather toplevels for themselves. Offscreen hooks don't make any sense
in this model.
2009-04-02 10:16:30 +02:00
1208c2fa11 Fix x vs y typo 2009-04-02 10:16:29 +02:00
3fdd1333b2 Misc stuff 2009-04-02 10:16:29 +02:00
a93c6cd6e1 CSW Win32 work in progress - builds but does not work yet. 2009-04-02 10:16:29 +02:00
97996ff00c Only add up native subwindow offsets for gdk_window_quartz_get_origin 2009-04-02 10:16:29 +02:00
0092c1ebf0 Limit manual flushing so we don't get hit by quartz' fps limiting 2009-04-02 10:16:29 +02:00
9af5f2b495 Disable/enable screen updates around process_all_updates to speed up rendering 2009-04-02 10:16:29 +02:00
53b3343d1b Get the right event window for non-grabbed windows too 2009-04-02 10:16:29 +02:00
6af4450641 Try to reduce risk of triggering the "beam sync" penalty in quartz 2009-04-02 10:16:29 +02:00
05d3fc6bbd Try to combine consecutive window moves into one
It often happens that we move region A to B and then we move a subset
of B to C. When possible we'd like to replace this with a move from
A directly to C, and a suplimentary move from A to the areas of B not
overwritten by C.

Getting an optimal move combiner seems quite complicated, but this
simple approach gets most of the interesting cases right and isn't
all to complicated.
2009-04-02 10:16:29 +02:00
f0fb3f450f Free region also if its empty (we're taking ownership now) 2009-04-02 10:16:29 +02:00
c35e0e11da Move unnecessary window copies to the right place
This code got placed wrong, it should happen when processing updates
on the impl window so it affects the whole expose, not in begin_updates.
2009-04-02 10:16:28 +02:00
51010ca066 Remove invalid source area from copy in move_region_on_impl
There is no need to copy something that is already invalid and will
be marked as invalid in the destination anyway, so we remove this
area from the region to copy.
2009-04-02 10:16:28 +02:00
e4b26d3231 Move GdkWindowRegionMove construction/destruction to separate functions 2009-04-02 10:16:28 +02:00
3866ea0539 Use clearer names for GdkWindowRegionMove members 2009-04-02 10:16:28 +02:00
184dbd5782 queue expose translations after the actual pixel copy
The expose translation is useful for tracking how outstanding
invalid (exposed on server) areas are copied, and how we need to
compensate for that on the client side to redraw the right area.

So, we should queue the translation at the time we actually move
the bits on the server side, not when moving the window on the
client side.

Also, clean up some naming of parameters.
2009-04-02 10:16:28 +02:00
fb3032af04 Fix order of outstanding moves in queue
The last added move should be done last, so we need to append moves
not prepend
2009-04-02 10:16:28 +02:00
5742005aa1 Make outstanding window moves work with the new model
We now copy outstanding window moves directly on the window and
not to an intermediary pixmap, this means our previous code to
combine window copies was wrong (it relied on each copy not
destroying the source date).

Furthermore, we can't just remove all the update area from the
destination of the outstanding moves, as sometimes things get
copied into that area and then used as the source of another
copy.

We replace the previous window copy combining with a naive
version that just queues each move, just to get things right.
Further work to optimize copies is possible.

Also, we don't remove copy destinations that are used as source
for later copies.

We also clean up the memory management by not having
move_region_on_impl taking ownership of the passed in region.
2009-04-02 10:16:28 +02:00
5ccc8b2ff1 Don't clear background on no exposure mask if NULL background pixmap set
This is the same as background None in X, i.e. never draw the background.
2009-04-02 10:16:28 +02:00