2004-05-18 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for XFIXES extension.
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
a gboolean have_xfixes member.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Register
XFIXES events and set have_xfixes.
* gdk/gdkevents.h (GdkEventType): Add GDK_OWNER_CHANGE.
(GdkEventOwnerChange): New event struct for owner change events.
(GdkOwnerChange): New enum for the reason field of GdkEventOwnerChange.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Translate
XFixesSelectionNotify events into GdkEventOwnerChange events.
* gdk/gdkdisplay.h:
* gdk/x11/gdkdisplay-x11.c (gdk_display_supports_selection_notification):
(gdk_display_request_selection_notification): New api
to support selection ownership notification.
* gtk/gtkclipboard.h:
* gtk/gtkclipboard.c (_gtk_clipboard_handle_event): New private
api to handle owner change events.
(clipboard_peek): Refactored out the body of
gtk_clipboard_get_for_display() for use in _gtk_clipboard_handle_event().
* gtk/gtkmain.c (gtk_main_do_event): Handle GDK_OWNER_CHANGE events
by calling _gtk_clipboard_handle_event().
2004-05-15 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdnd-win32.c: Put back the ref_count field in the
GdkDragContextPrivateWin32 struct (but inside ifdef OLE2_DND this
time). It is used by the OLE2_DND code, which is unfinished and
presumably horribly broken, but still, let's not make it not
compile on purpose. Silence some gcc warnings in the OLE2_DND
code.
2004-05-14 Matthias Clasen <mclasen@redhat.com>
* gdk/gdktypes.h (GdkModifierType): Add a comment about unused
bits.
* gtk/gtkstock.c (real_add, gtk_stock_lookup): Use an unused
modifier bit to mark stock item which need to be freed
eventually. (#140654, Michal Pasternak, Scott Tsai)
2004-05-11 Robert Ögren <gtk@roboros.com>
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Add missing
call to g_object_ref in Wintab code. (#138341)
* gdk/win32/gdkinput-win32.c: Fix numerous Wintab problems
including unallocated buffers for event->motion.axes and
event->button.axes, unsigned wraparound problem in the code for
detecting missing press/release events and assigning min instead
of max when setting up axes.
2004-05-08 Hans Breuer <hans@breuer.org>
* gtk/gtkfilesystemwin32.c (extract_icon) : finally also
create the correct mask for 'pseudo mime' icons
* gdk/win32/gdkwindow-win32.c(show_window_internal) : also
take focus_on_map into account
* gtk/gtkselection.c : g_message() only with DEBUG_SELECTION
* gtk/gtkactiongroup.c gtk/gtkcombobox.c :
... must return a value
* gdk/gdk.def gtk/gtk.def demos/gtk-demo/makefile.msc.in : updated
2004-05-05 Elijah Newren <newren@math.utah.edu>
Changes to support do-not-focus-on-map hint in conjunction with
_NET_WM_USER_TIME (#115650):
* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
field focus_on_map
* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
set it.
* gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().
* gdk/win32/gdkwindow-win32.c (gdk_window_new):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
Initialize the focus_on_map field to TRUE.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
Implementations for the various backends. The Win32 and linux-fb
implementations set the focus_on_map field, but don't use it yet
to actually implement noinput windows. The X implementation sets
_NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).
* gdk/x11/gdkwindow-x11.h:
* gdk/x11/gdkevents-x11.c (set_user_time):
* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time):
s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/,
since we want that function to be part of the public API.
2004-05-02 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkdrawable-win32.c (draw_segments) : don't
modify the passed in GdkSegment(s) in place, we may get
them again to draw at the same place. Fixes bug #129095,
bug #137177, ...
(draw_segments) draw the end pixel again to get the
pixmap mask right, fixes bug #126710, #130202
* gdk/win32/gdkwindow-win32.c : use SetForegroundWindow,
fixes bug #106013, John Ehresman
* gtk/makefile.msc.in : don't try to link gtk.res but
use gtk-win32.res (as supposed to be fixed below :)
Thu Apr 29 01:09:50 2004 Matthias Clasen <maclas@gmx.de>
* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Use depth - 1
to index the cached gcs, not depth. (#139494)
Sun Apr 18 16:15:15 2004 Soeren Sandmann <sandmann@daimi.au.dk>
Support for _NET_WM_USER_TIME (bug 115650). Patch by Elijah
Newren.
* gdk/x11/gdkwindow-x11.[ch]: Add new internal function
_gdk_x11_set_user_time() to set the _NET_WM_USER_TIME property.
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add user_time field
* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_USER_TIME to list of
precached atoms.
* gdk/x11/gdkinput-x11.c, gdk/x11/gdkevents-x11.c: Set the
property on user interaction.
2004-04-11 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkspawn-win32.c : workaround for bug #137496,
the real fix would involve just another small API breakage,
i.e. gdk_spawn_* using GPid not just gint.
* gtk/makefile.msc.in : build gtk-win32.res, not gtk.res
2004-04-10 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c (gdk_keymap_translate_keyboard_state):
If both Shift and CapsLock pressed, ignore the shift only for
letters (that would have been affected by the CapsLock). (#139095)
* gdk/win32/gdkglobals-win32.c: Disable tablet support by default,
seems to be even buggier now than it used to be. (#138341)
Initialize _gdk_input_ignore_wintab to TRUE.
* gdk/win32/gdkmain-win32.c: Add --use-wintab switch and
GDK_USE_WINTAB environment variable to turn on tablet support.
2004-03-20 Hans Breuer <hans@breuer.org>
* gtk/gtkfilesystemwin32.c : applied the undisputable and
required [due to recent gtkfilesystem internal api semantic
changes] part of patches to fix bug #137543 (Tor Lillqvist,
J. Ali Harlow)
* gdk/gdkevents-win32.c (handle_configure_event) :
(gdk_event_translate), WM_WINDOWPOSCHANGED : initialize
GdkWindowObject::x, y with screen coords to make
gdk_window_get_position () return the right thing and thus fix
drag and drop positioning (e.g. Gimp tabs, fixes bug #137192)
2004-03-15 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkgc-win32.c (gdk_gc_copy): Don't just copy the whole
GdkGCWin32 with a single assignment, that overwrites GObject's
private data (for instance ref_count). (#137012, John Ehresman)
2004-03-13 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdisplay-win32.c: Don't undefine HAVE_MONITOR_INFO
when compiling with gcc. Mingw's headers do have the required
definitions.
* gdk/win32/gdkdrawable-win32.c (draw_polygon): When drawing
filled polygons, don't draw the outline, similarily as
draw_rectangle(). Apparently GTK and GIMP don't use
gdk_draw_polygon() much (or always draw the outline, too), as this
has gone undetected for so long. Thanks to Bruce Hochstetler.
Sat Mar 13 12:17:16 2004 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): Make
this a total no-op when the new or old parent is
destroyed. (#134230, patch from Soeren Sandmann)
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy):
For foreign windows in our heirarchy, call
_gdk_windowing_window_destroy_foreign (window) and skip
all the normal destruction logic.
* gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c:
Move code to request destruction of a foreign window
code into a separate _gdk_windowing_window_destroy_foreign().
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_finalize):
Call GDK_WINDOW_DISPLAY() on the wrapper not on the
impl. (Also from Soeren's patch)
2004-03-10 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
the pointer button bits. (#136636, Dave Neary)
* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
transparent (input only) windows using SetWindowPos(). (#132331,
John Ehresman)
(gdk_window_set_type_hint): For splash screens, remove the resize
handles, menu, and minimize/maximize/close buttons. (#132896)
2004-03-07 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting) :
some more settings from system, also reflect some name changes
done a while ago in the x11 backend
* gdk/win32/makefile.msc : build gdkspawn-win32.c
* gtk/gtkdnd.c : gtk_drag_source_[gs]et_target_list, added "Since: 2.4"
* gtk/makefile.msc.in : build gtkpathbar, link shell32.lib
* tests/makefile.msc : some more tests get build
2004-03-05 Federico Mena Quintero <federico@ximian.com>
* gdk/linux-fb/gdkglobals-fb.c: Make <config.h> the very first
include.
* gdk/linux-fb/gdkwindow-fb.c: Likewise.
* gdk/linux-fb/gdkinput.c: Likewise.
2004-03-05 Federico Mena Quintero <federico@ximian.com>
Fixes#136082 and #135265, patch by Morten Welinder.
* configure.in: Use AC_SYS_LARGEFILE.
* */*.c: #include <config.h>
2004-03-01 Simon Budig <simon@gimp.org>
* gdk/x11/gdkinput-x11.c: X11 R6.4 specifies 15 events
for the XInput extension. We want to see them all.
We now get Proximity Out events again. Fixes bug #135320.
Mon Mar 1 14:16:52 2004 Owen Taylor <otaylor@redhat.com>
Based on patch by Alex Larsson
* gtk/gtkfilechooserdefault.c: Use gtk-file-chooser-backend
GtkSetting to set the backend if the app doesn't specify one.
* gdk/x11/gdkevents-x11.c gtk/gtksettings.c:
Add Gtk/FileChooserBackend.
Sun Feb 29 16:35:23 2004 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpango.c gtk/gtktextdisplay.c: Implement
PANGO_UNDERLINE_ERROR (Based on a patch by
Nicolas Setton, #114237)
* gtk/gtktextview.c: Add a error-underline-color style
property.
2004-02-28 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkdnd-win32.c : set current_dest_drag to NULL
when destroying, fixes bug #120007. Also removed the mirrored
ref counting for deprecated gdk_drag_context_<ref|unref>()
cause it wasn't reliable anymore anyway.
* gdk/win32/gdkdisplay-win32.c : fix typo, which should
have broken the win32 build for everyone not using msvc
* gdk/win32/gdkevents-win32.c : WM_GETMINAMXINFO ensure not to
return negative values for ptMaxTrackSize, it caused snapping
windows to their minimum size
Thu Feb 26 19:53:32 2004 Owen Taylor <otaylor@redhat.com>
* gdk/x11/xsettings-common.h (xsettings_client_process_event):
Add xsettings_client_set_grab_func,
Add xsettings_client_set_ungrab_func to the list of renames.
Thu Feb 26 19:48:39 2004 Owen Taylor <otaylor@redhat.com>
* gdk/x11/xsettings-client.c (read_settings): Fix memory leak
in case of mismatched property type.
Thu Feb 26 17:29:04 2004 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Return
GDK_FILTER_CONTINUE for unhandled message types.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Allow
multiple filters for the same event type with the standard
"GDK_FILTER_CONTINUE == pretend I wasn't here" semantics.
* gdk/x11/gdkevents-x11.c (gdk_display_add_client_message_filter):
Append to the filter list not prepend, since order now matters.
* gdk/win32/gdkevents-win32.c (gdk_add_client_message_filter):
Append to the filter list not prepend, since order now matters.
Thu Feb 26 13:23:47 2004 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (set_text_property): Use the right
free() function. (#135511, George Bronnikov)
Wed Feb 25 15:36:50 2004 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text_for_display):
Call g_convert(), not g_convert() with fallback, since Emacs is
happier if we reject the COMPOUND_TEXT request and it can
then ask for UTF-8. (#114527)
* gtk/gtkselection.c (gtk_selection_data_set_text): When
TEXT is requested, if COMPOUND_TEXT fails, fall back to STRING.
Sat Feb 21 20:09:53 2004 Soeren Sandmann <sandmann@daimi.au.dk>
Bug 130790 (Federico Mena Quintero, Owen Taylor)
* gdk/x11/gdkevents-x11.c: Add Xft XSETTINGS
* gtk/gtksettings.c: Add new GtkSettings corresponding to the Xft
XSETTINGS
Thu Feb 19 23:41:06 2004 Matthias Clasen <maclas@gmx.de>
Fixes for #82099:
* gdk/x11/gdkevents-x11.c: Introduce new XSettings "Gtk/ButtonImages"
and "Gtk/MenuImages" and map them to "gtk-button-images" and
"gtk-menu-images".
* gtk/gtkimagemenuitem.c: Add a boolean setting "gtk-menu-images" and use
it to set the visibility of the embedded image.
* gtk/gtkbutton.c: Add a boolean setting "gtk-button-images" and use
it to set the visibility of an embedded image.
Wed Feb 18 17:53:27 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gdk/gdkwindow.c (gdk_window_get_bg_gc): Use a scratch GC in the
case where the background is a solid color.
(gdk_window_clear_backing_rect): Reset the clip region after use.
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Go
back to using a scratch GC. Pointed out by Owen Taylor
* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Only use a
scratch GC if the passed-in one is NULL
Wed Feb 18 14:27:08 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gdk/gdkwindow.c (gdk_window_get_composite_drawable): Reset clip
region back to NULL on cached GC (rest of #134728)
Wed Feb 18 13:28:57 2004 Soeren Sandmann <sandmann@daimi.au.dk>
Fix bug reported by Nam SungHyun.
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha):
Don't use a cached GC here since the function needs to modify the
foreground color.
* gdk/gdkwindow.c (gdk_window_end_paint): Reset clip region back
to NULL on the cached GC.
Wed Feb 18 01:44:59 2004 Soeren Sandmann <sandmann@daimi.au.dk>
GC caching, bug #125645 (based on patch by Brian Cameron)
* gdk/gdkscreen.h (struct _GdkScreen): Add GC cache
* gdk/gdkscreen.c (gdk_screen_dispose): New function. Unref the
cached GC's here.
* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): New function to
get a scratch gc.
* gdk/gdkinternals.h: Declare the function here
* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Use
_gdk_drawable_get_scratch_gc() instead of creating a new GC.
* gdk/x11/gdkgeometry-x11.c (gdk_window_copy_area_scroll): same
* gdk/x11/gdkdrawable-x11.c (draw_with_images): same
* gdk/gdkwindow.c (gdk_window_get_composite_drawable): same
* gdk/gdkwindow.c (gdk_window_end_paint): same
* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf): same
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha): same
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_pixmap_and_mask_for_colormap): same
Tue Feb 17 23:02:58 2004 Soeren Sandmann <sandmann@daimi.au.dk>
Fix for #119722, reported by Olexiy Avramchenko, patch by Owen
Taylor.
* gdk/x11/gdkprivate-x11.h (struct _GdkGCX11): Add a depth field
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Keep track of the GC's
depth.
* gdk/x11/gdkgc-x11.c (_gdk_gc_x11_get_fg_xft_color): First query
the colormap, if no colormap, special case depth 1,
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Use
_gdk_gc_x11_get_fg_xft_color() to get the foreground color.
* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_xft_draw):
Special-case bitmaps without a colormap.
* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): Use inherited
draw_pixbuf() implementation in the bitmap case.
Mon Feb 16 19:13:21 2004 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdraw.c: Revert last commit, please don't commit patches
without approval, this isn't the right way to do it.
* gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
segments at a time, since XDrawSegments cannot handle more than this.
fixes bug #122026.