Rename gdk_window_set_has_native to gdk_window_ensure_native
This also removes the (unimplemented) possibility to change a window to
non-native. This seems generally not very useful, and there are some problems
with it, for instance if two "users" need a window to be native and then
one of the "users" doesn't need it anymore it can't change it back, because
it is unaware of the other reason the window is native.
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.
Matthias Clasen [Sun, 17 May 2009 22:35:51 +0000 (18:35 -0400)]
Avoid a warning when persisting clipboards
Correctly handle conversion to SAVE_TARGETS as a side-effect target
with no side-effect, by returning a zero-sized property of type NULL.
See section 2.6.3 of the ICCCM.
Martin Nordholts [Fri, 15 May 2009 19:29:25 +0000 (21:29 +0200)]
Avoid memory corruption on complicated confirm-overwrite logic
Dup the file chooser entry string because the string may be modified
depending on what clients do in the confirm-overwrite signal and this
corrupts the pointer.
Marek Kasik [Wed, 13 May 2009 16:28:42 +0000 (18:28 +0200)]
Add ability to print in number-up mode for file backend and lpr backend
GtkPrintOperation is now able to render multiple pages per sheet by its
own. The most important changes are in these functions:
* increment_page_sequence
* prepare_data
* common_render_page
* print_pages_idle
Patch also changes set of choices for 2 pages per sheet mode when
landscape orientation is used to "Top to bottom" and "Bottom to top".
bgo#315462 - Make GtkLabel deal with too-small height allocations gracefully
Previously we would always align the top of the text with the label's allocation-plus-padding.
However, this makes a single-line label inside a GtkButton look badly clipped when the button
has a smaller allocation than its requisition. So, for single-line labels we respect the
alignment even if it doesn't fit within the label's allocation. But for multi-line labels, we
give preference to showing the first line, to give the user some context.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
Matthias Clasen [Sun, 10 May 2009 06:08:41 +0000 (02:08 -0400)]
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.
Matthias Clasen [Sun, 10 May 2009 06:08:41 +0000 (02:08 -0400)]
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.
Matthias Clasen [Sun, 3 May 2009 16:45:54 +0000 (12:45 -0400)]
Update to explain the situation.
2008-09-23 Matthias Clasen <mclasen@redhat.com>
* README.in: Update to explain the situation.
* gtk/gtkadjustment.c: Revert to the old behaviour of allowing
values in the range [lower, upper]. Relying on the possibility
to set values in the [upper - page_size, upper] subrange is
considered deprecated, though, and will trigger a warning.
* gtk/gtkcombobox.c:
* gtk/gtkiconview.c:
* gtk/gtkrange.c:
* gtk/gtkscrolledwindow.c:
* gtk/gtktreeview.c: Add the CLAMPing back that was removed after
the GtkAdjustment behaviour change.
Brian Cameron [Wed, 29 Apr 2009 23:52:32 +0000 (18:52 -0500)]
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)