Mon Oct 7 15:10:00 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdisplay.[ch] gdk/gdkinternals.h
gdk/gdkwindow.[ch] gdk/linux-fb/gdkwindow-fb.c
gdk/win32/gdkwindow-win32.c gdk/x11/gdkwindow-x11.c:
- Replace GdkPointerHooks with a multihead-safe
GdkDisplayPointerHooks, leave GdkPointerHooks
around for singlehead.
- Add gdk_display_get_pointer() to get the pointer
location with the screen it is on.
* gdk/gdk.def gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch]:
Change gdk_screen_get_window_at_pointer() to
gdk_display_get_window_at_pointer().
* gtk/gtktreeview.c demos/gtk-demo/changedisplay.c
tests/testgtk.c: Use gdk_display_get_window_at_pointer(),
not gdk_screen_get_window_at_pointer().
* gtk/gtkcolorsel.c: Fix grabbing color to be multihead
safe.
* gtk/gtkwidget.c: Allow gtk_widget_push_colormap (NULL).
since it is useful for writing code that doesn't
know the dcurrent state but needs a clean colormap.
* gtk/gtkrc.c: When loading the settings for a particular
screen, only reset toplevels on that screen.
* gtk/gtkiconfactory.h: Fix #ifdef GTK_MULTIHEAD_SAFE
that should have been #ifndef GTK_MULTIHEAD_SAFE.
Mon Oct 7 11:45:17 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): If Mode_switch
is used for a known modifier like Mod1, assume it won't
be used to switch group. (#94841, problem reported by
Szekeres Istvan)
Fri Oct 4 14:49:04 2002 Owen Taylor <otaylor@redhat.com>
Patch from Shivram U <shivaram.upadhyayula@wipro.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): Increased the keycount to
(max_keycode - min_keycode) + 1 from (max_keycode - min_keycode).
(update_keymaps), (gdk_keymap_get_entries_for_keyval) looping through
less than or equal to max_keycode. (#79184)
Fri Oct 4 12:00:10 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkscreen.c (gdk_screen_class_init): Get the
name right.
* gdk/x11/gdkscreen-x11.c (gdk_screen_x11_class_init):
Fix function that should have been static.
Fri Oct 4 11:43:47 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Add a check for the Xrandr extension.
* gdk/gdkscreen.[ch]: Add a size-changed signal.
* gdk/x11/gdkscreen-x11.[ch]: Patch from Keith packard
to hook up ConfigureNotify events on the root window
to the ::size-changed signal. (#94560)
* gtk/gtkimcontextsimple.c: Warning fixes
Thu Oct 3 19:00:55 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
Fix error in computing length and a memory leak.
(Fixes#94072, reported by Hema Seetharamaiah)
* gtk/gtkmenu.c (gtk_menu_motion_notify): Fix &event
used instead of event.
Thu Oct 3 23:53:43 2002 Kristian Rietveld <kris@gtk.org>
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_destroy): get
XDisplay from window instead of display, as display has not been
defined here (fixes the build).
Thu Oct 3 17:09:23 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/{gdkdrawable-x11.[ch],gdkpixmap-x11.c,
gdkwindow-x11.c}: Restore the pre-Xft2 code to
render text directly via RENDER, conditionalized
with !HAVE_XFT2 so that we'll build again on Xft1
systems. (#90181)
Thu Oct 3 14:13:33 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (gdk_event_new): Add a 'type'
parameter, make public.
* gdk/gdkevents.c (gdk_event_copy): Copy the screen.
* gdk/gdkevents.c gdk/linux-fb/gdkmain-fb.c
gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
_gdk_event_new() => gdk_event_new().
* gdk/win32/gdkevents-win32.c (real_window_procedure):
Fix event_private->screen breakage that results from evil
encapsulation breakage here.
* gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcontainer.c
gtk/gtkdialog.c gtk/gtkdnd.c gtk/gtkdrawingarea.c
gtk/gtkimcontextsimple.c gtk/gtklist.c gtk/gtkmenu.c
gtk/gtknotebook.c gtk/gtkplug.c gtk/gtkselection.c
gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeview.c
gtk/gtkviewport.c gtk/gtkwindow-decorate.c gtk/gtkwindow.c
tests/testgtk.c: Remove most usage of stack-allocated
GdkEvent structures.
* gtk/gtktreeview.c: Use a cut-and-paste of the full
send_focus_event() from gtkwindow.c that does the necessary
notification of the ::has-focus property and setting of
the HAS_FOCUS flag.x
* gtk/gtkdnd.c: Clean up some mess/duplicated code; removing
an extraneous use of a GdkEvent.
Wed Oct 2 17:46:53 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
gdk/gdkwindow.c gdk/gdkdrawable.c: Export _gdk_draw_pixbuf
as gdk_draw_pixbuf(), rename the _draw_pixbuf virtual
function to draw_pixbuf. (#60582)
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable[_alpha]):
Note that these functions are obsolete in the docs.
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable):
Remove all the sanity checks now we make it clear
that it is obsolete name for gdk_draw_pixbuf().
* gdk/gdkpixmap.c gtk/gtkcellrendererpixbuf.c gtk/gtkimage.c
gtk/gtkpixmap.c demos/testpixbuf-scale.c demos/testpixbuf.c
tests/testrgb.c: Use gdk_draw_pixbuf() everywhere.
* gtk/gtklabel.c (gtk_label_set_mnemonic_widget): Fix
some warnings.
* gdk/gdkinternals.h (struct _GdkEventPrivate): Fix missed
bit from last gdk_event_get_screen() change.
* gdk/gdkevents.c: Couple of small fixes.i
Wed Oct 2 17:36:42 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.[ch] gdk/x11/gdkevents-x11.[ch]: Add
gdk_screen_set_screen()/_get_screen() which (by evil
hacks) work for for heap allocated events and
fall back gracefully for stack allocated events.
2002-09-30 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
Set image->windowing_data to NULL, unref the image. (Late merge
from stable.)
Mon Sep 30 15:31:57 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdisplay.c gdk/x11/gdkdisplay-x11.c
gdk/gdkinternals.h: Set the client ID on all
displays. (#85713)
* gdk/gdkdisplay.h gkd/gdkinternals.h
gdk/{linux-fb,win32,x11}/gdkmain-{fb,win32,x11}.c
Privatize gdk_display_set_sm_client_id().
Fri Sep 27 14:30:34 2002 Eric Warmenhoven <eric@warmenhoven.org>
* gdk/Makefile.am gdk/gdkkeynames.c gdk/linux-fb/gdkmain-fb.c
gdk/win32/gdkkeys-win32.c: Move gdk_keval_name and
gdk_keyval_from_name to new gdkkeynames.c, share implementation for
linux-fb and win32 (#94123)
* gdk/linux-fb/Makefile.am gdk/linux-fb/gdkkeyboard-fb.c
gdk/linux-fb/gdkmain-fb.c gdk/linux-fb/gdkmouse-fb.c: add
-DG_DISABLE_DEPRECATED and -DGDK_PIXBUF_DISABLE_DEPRECATED to compile
flags
* gdk/linux-fb/gdkdisplay-fb.c: prevent segfault if display can't
initialize
* gdk/linux-fb/gdkkeyboard-fb.c: better parsing of keycodes
* gdk/linux-fb/gdkwindow-fb.c: add stubs for new functions
Wed Sep 25 10:51:24 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkscreen.h gdk/{x11,win32,linux-fb}/gdkscreen-*.c:
Add gdk_screen_make_display_name(), which returns a
display name that can be used to open a display with the
screen as the default (Based on patch from Mark McLoughlin,
#86013)
Wed Sep 25 08:50:40 2002 Owen Taylor <otaylor@redhat.com>
Patch from Eric Warmenhoven, #94123
* gdk/gdkmouse-fb.c: Add scrolling support for
imps2 mice.
* gdk/linux-fb/gdkimage-fb.c: Fix compilation error
in last gdkimage-fb.c commit.
Tue Sep 24 19:45:55 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_get_colormap):
Look up the visual as well as the colormap, since calling
gdk_drawable_get_visual() causes infinite recursion.
* gdk/x11/gdkwindow-x11.c (_gdk_windowing_window_init):
Set the colormap for the root window.
* gnome-settings-xsettings.c: added two new xsettings
for GTK+ input method preedit and status styles.
With the other patch for gtk+, the preedit and status styles of
GTK+ input method are configurable with associated gconf schemas
keys:
"/desktop/gnome/interface/gtk-im-preedit-style"
"/desktop/gnome/interface/gtk-im-status-style"
Both are set to "callback" by default, and platform's
packging can have different default by changing
libgnome's desktop_gnome_interface.schemas.
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_get_colormap):
Replace leftover gdk_colormap_lookup () by
gdk_x11_colormap_foreign_new () to make the linker happy.
Tue Sep 24 17:49:52 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccelgroup.[ch] (gtk_accel_group_find):
Add a GtkAccelGroupFindFunc to clean up the
prototype. (#76670, Vitaly Tishkov)
* gdk/x11/gdkvisual-x11.c gdk/x11/gdkx.h: Rename
gdkx_visual_get_for_screen() to
gdk_x11_screen_lookup_visual(). (#85702)
2002-09-25 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (gdk_event_translate):
WM_SYSKEYDOWN, WM_SYSKEYUP: Need to handle F10 specially here in
order to be able to handle it normally in the application. Set
ignore_wm_char also always when handling WM_SYSKEY{DOWN,UP}, this
way we can generate GDK events also for Alt-Fn keys, for instance.
Tue Sep 24 16:40:14 2002 Owen Taylor <otaylor@redhat.com>
Make icon sizes configurable (#70648, slightly based
on a patch from Bill Haneman, Brian Cameron)
* gtk/gtkiconfactory.[ch]: Add
gtk_icon_size_lookup_for_settings().
* gtk/gtksettings.c: Add gtk-icon-sizes XSETTING
* gtk/gtkiconfactory.c: Make icon sizes per-GtkSettings.
* gtk/gtkstyle.c: Use gtk_icon_size_lookup_for_settings()
* gtk/gtkrc.[ch]: Privately export _gtk_rc_reset_styles()
to force all the widgets to recompute their appearance.
Tue Sep 24 05:26:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/gdkdisplay.c gdk/linux-fb/gdkevents-fb.c
gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
Change the window parameter for
gdk_event_send_client_message[_for_display] from guint32
to GdkNativeWindow. (#79979)
Mon Sep 23 16:48:46 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeys.[ch] gdk/x11/gdkkeys-x11.c gdk/x11/gdkevents-x11.c:
Add a keys_changed signal emitted when the keymap changes.
(#72148)
* gtk/gtkkeyhash.c (_gtk_key_hash_remove_entry):
Hook up code to handle keymap changes, change to keep
a linked list of keymap entries so that we can reinsert
them in the same order on a keymap change.
Sun Sep 22 18:22:37 2002 Owen Taylor <otaylor@redhat.com>
* gdk/linux-fb/{gdkinput.c,gdkkeyboard-fb.c,gdk/linux-fb/gdkmain-fb.c,
gdk/linux-fb/gdkprivate-fb.h, gdk/linux-fb/gdkwindow-fb.c}:
Patch from Eric Warmenhoven to with miscellaneous linux-fb
fixes, including a fix for a crash in
gdk_keymap_get_entries_for_keycode (#87420)
2002-09-21 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkselection-win32.c (sanitize_utf8): Copy from X11
backend. The old version mishandled consecutive newlines.
* tests/testgtkrc: Remove obsolete mention of gtk-engines and
Pixmap theme engine on Win32.
2002-09-20 Tor Lillqvist <tml@iki.fi>
* gdk/gdkfont.h: Delete leftover declarations of the obsolete
Win32-only functions gdk_font_full_name_get() and
gdk_font_full_name_free().
* gdk/gdk.def: Delete from here, too.
* gdk/win32/gdkfont-win32.c (logfont_to_xlfd,
gdk_font_full_name_get, gdk_font_full_name_free): Delete
implementation, and helper functions.
(pattern_match, InnerEnumFontFamExProc, EnumFontFamExProc,
gdk_font_list_new, gdk_font_list_free): Delete unused functions.
(gdk_text_width, gdk_text_width_wc) Instead of code duplication,
let gdk_text_extents() and gdk_text_extents_wc() do the job.
* gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
Don't use the above removed functions in debugging output.
* gdk/win32/gdkdisplay-win32.c
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkselection-win32.c
* gdk/win32/gdkinput-win32.h
* gdk/win32/gdkinput.c: Make it compile again, pass a GdkDisplay in
a couple of places.
Thu Sep 19 16:39:29 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.h (GTK_SETTINGS_GET_CLASS): Fix
usage of compat GTK_TYPE_ macros without including
gtkobject.h.
* gdk/x11/gdkevents-x11.[ch]: Set a flag when initializing
to avoid having extra settings-notify events sent
when not needed.
2002-09-12 Tor Lillqvist <tml@iki.fi>
Merge from gtk-1-3-win32-production and gtk-2-0:
* gdk/win32/gdkinput-win32.c (gdk_input_init): Use
GetSystemMetrics (SM_C[XY]SCREEN) instead of
gdk_screen_{width,height}().
* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Don't
use return value from GlobalSize() as length of string when
calling MultiByteToWideChar(). Pass -1 instead (zero-terminated
string). Thanks to Iwasa Kazmi.
2002-09-12 Tor Lillqvist <tml@iki.fi>
Merge from gtk-2-0:
* gdk/win32/gdkgeometry-win32.c: Add GDK_NOTE debugging output
to some functions, related to moving and resizing and expose
and antiexpose queue processing. Use %p to output HWNDs.
Tentative fix for #79720 based on code by Florent Duguet:
* gdk/win32/gdkgeometry-win32 (gdk_window_queue_append): New
static function. Checks length of translate_queue, calls
_gdk_window_process_expose() if length is >= 128. Then appends
to translate_queue.
(gdk_window_queue_translation,_gdk_windowing_window_queue_antiexpose):
Call gdk_window_queue_append().
2002-09-12 Tor Lillqvist <tml@iki.fi>
Merge from gtk-2-0:
* gdk/win32/gdkevents-win32.c: Some spacing and indentation cleanup.
* gdk/win32/gdkevents-win32.c (_gdk_events_init): Search if the
system has some input locale identifier that uses a Latin
keyboard. This is needed to be able to get the virtual-key code
for the latin characters corresponding to ASCII control
characters. If no such keyboard is present, try to load one
then. Will this upset users with no wish to ever use a Latin-based
keyboard layout?
(vk_from_char): Convert all ASCII control chars to the
corresponding uppercase char before calling VkKeyScanEx(). Idea by
Florent Duguet. Makes Control-C work again. To make it hopefully
work like I think it should on non-Latin keyboards, too, use
latin_locale when looking for the corresponding keycode.
Fix for #81831 by Tim Evans:
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't call
_gdk_event_button_generate() here, it would append the double- or
triple-click events too early, before the single-click event.
(real_window_procedure): If we got a single-click event, call
_gdk_event_button_generate() to perhaps append the double- or
triple-click event after that.
Merge from gtk-1-3-win32-production branch:
* gdk/win32/gdkevents-win32.c (propagate): Check for parent being
NULL before trying to propagate to it, and return FALSE in that
case. (If parent is NULL, we are handling gdk_parent_root, and
probably should have noticed that and bailed out earlier. But
better late than never.)