Commit Graph

988 Commits

Author SHA1 Message Date
Tim Janik
cca4abf498 fix segfault upon NULL return from gdk_utf8_to_string_target().
Fri Apr  5 01:06:15 2002  Tim Janik  <timj@gtk.org>

        * gdk/x11/gdkwindow-x11.c (set_text_property): fix segfault
        upon NULL return from gdk_utf8_to_string_target().

        * gdk/x11/gdkselection-x11.c (gdk_utf8_to_string_target): fix
        return value comment to mention NULL returns upon EMFILE.
2002-04-04 23:10:58 +00:00
Tor Lillqvist
abda40ede4 Fix some bugs, and introduce a minor feature.
2002-04-04  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdkrgb.c: Fix some bugs, and introduce a minor feature.

	(gdk_rgb_convert_4_pack): New function, for 16-color (4 bits per
	pixel) static visuals (fixes #858).

	(gdk_rgb_convert_gray4_pack, gdk_rgb_convert_gray4_d_pack): Fix
	same bugs in both functions: Odd start coordinate (partial byte)
	was not handled correctly. Also a partial final byte was not
	handled correctly.

	(gdk_rgb_do_colormaps): Use G_N_ELEMENTS.
	(gdk_rgb_create_info): For pseudocolor visuals, use the 2x2x2
	colorcube only for depths 3 and 4. For static color, use it for
	depths 3..7 like before. (Depth 5..7 pseudocolor probably never
	occurs on X11. It doesn't normally occur on Win32 either, but
	there is experimental code in gdkvisual-win32.c to let the user
	restrict the size of palette used.)
	(gdk_rgb_init): Set gdk_rgb_verbose if the GDK_DEBUG_GDKRGB flag
	is set.
	(gdk_rgb_select_conv): Use gdk_rgb_convert_8 also for depths 5, 6
	and 7 (see above). Use gdk_rgb_convert_4_pack for 4 bits per pixel
	static color.
2002-04-04 20:23:56 +00:00
Hans Breuer
fe60d43a26 Fixed dashed line issues (#74441) to an IMO reasonable extend. That is:
2002-03-29  Hans Breuer  <hans@breuer.org>

	Fixed dashed line issues (#74441) to an IMO reasonable extend.
	That is: use PS_USERSTYLE on WinNT (the next GDI limit appears
	to be with lines width > 50); Render horizontal and vertical
	dashed lines on Win9x 'by hand'. Dotted selection rectangles
	and Dia look nice ...

	* gdk/win32/gdkprivate-win32.h : add pen_dashes pointer and
	num_pen_dashes to _GdkGCWin32
	* gdk/win32/gdkgc-win32.c : initialize pen_dashes and remove
	the guesses from dashes to windoze line styles.
	(predraw_set_forground) : always ExtCreatePen (PS_SOLID) on
	Win9x, which does not support PS_USERSTYLE.
	* gdk/win32/gdkdrawable-win32.c : new functions render_line_
	<horizontal|vertical>. Use them if not running on NT in
	gdk_win32_draw_<rectangle|segments|lines> ()

	* gdk/win32/gdkkeys-win32.c (gdk_keyval_name) : return NULL
	for keyval == 0 to avoid to have zeros in all menu entries
	without accelerator.
2002-03-28 23:25:33 +00:00
Havoc Pennington
8d3df4d9a1 add more explanatory text to the error message about missing charsets, and
2002-03-22  Havoc Pennington  <hp@pobox.com>

	* gdk/x11/gdkfont-x11.c (gdk_fontset_load): add more explanatory
	text to the error message about missing charsets, and use
	g_printerr() not g_warning() since this is typically not a
	programming error (we do not export any API to ask whether
	a font set will have missing charsets so apps realistically can't
	do anything other than try the gdk_fontset_load())

	* gtk/gtktextview.c (gtk_text_view_key_press_event): return FALSE
	if the text view isn't editable and the user presses Return,
	so default buttons and such can be activated, #74937

	* gtk/gtktextbuffer.c (paste_from_buffer): don't insert
	if the insertion point is not editable and the paste
	is interactive, #74125

	* gtk/gtkwindow.c (gtk_window_move_resize): enhance the #if 0
	debug spew

	* gtk/gtktextbuffer.c (cut_or_copy): only remove the previous
	cut/copied data right before replacing it, when we know we are
	going to replace it. Fixes #74049
2002-03-23 04:37:53 +00:00
Richard Hult
56c5bd70a3 Fix typo, where x value was assigned to both x and y.
2002-03-22  Richard Hult  <rhult@codefactory.se>

	* gdk/gdkevents.c (gdk_event_get_root_coords): Fix typo, where x
	value was assigned to both x and y.
2002-03-22 17:47:51 +00:00
Owen Taylor
abfed60cab Fix memory leak. (#74400, Morten Welinder.)
Fri Mar 22 10:56:19 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkaccelmap.c (gtk_accel_map_save_fd): Fix memory
        leak. (#74400, Morten Welinder.)

        * gtk/gtkaccelmap.c: Properly handle short returns from
        write() calls. (Handling EINTR isn't enough... that only
        handles the case where you were interrupted before you
        wrote a single byte.)

        * gdk/linux-fb/gdkmouse-fb.c gdk/linux-fb/gdkkeyboard-fb.c:
        Robustify against short returns from write() calls.
2002-03-22 16:06:06 +00:00
Tor Lillqvist
1ffa06c6a5 Don't clear all of the pen_style, just the PS_STYLE_MASK. Seems to fix
2002-03-22  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Don't clear
	all of the pen_style, just the PS_STYLE_MASK. Seems to fix #74441,
	but that is just the special case of one-pixel wide one-pixel
	on-off dotted lines. To fully implement generic X11 style dashed
	lines a major rewrite would be needed.
2002-03-21 22:36:02 +00:00
Owen Taylor
0b6aaa5a31 Remove some left over debugging code with a G_BREAKPOINT() in it.
Thu Mar 21 10:04:05 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkwindow.c (gdk_window_real_get_depth): Remove
        some left over debugging code with a G_BREAKPOINT()
        in it.
2002-03-21 15:04:41 +00:00
Alex Larsson
2d6e58ada6 Patches from Carlo E. Prelz <fluido@fluido.as> Now gtkfb at least compiles
2002-03-20  Alex Larsson  <alexl@redhat.com>

	Patches from Carlo E. Prelz <fluido@fluido.as>
	Now gtkfb at least compiles and mostly works. The keyboard
	stuff needs more loving.

	* gdk/linux-fb/gdkkeyboard-fb.c (xlate_get_for_keyval,
	xlate_get_for_keycode, raw_get_for_keyval, raw_get_for_keycode):
	At least set the out parameters for these calls.

	* gdk/linux-fb/gdkmain-fb.c:
	(gdk_pointer_grab_info_libgtk_only, gdk_keyboard_grab_info_libgtk_only):
	Implement new functions.
2002-03-21 00:41:43 +00:00
Owen Taylor
8acfd1e9de Patch from Erwann Chenede, #73900 fixing a lot of warnings with Forte CC,
Wed Mar 20 16:36:08 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/*.c: Patch from Erwann Chenede, #73900 fixing
        a lot of warnings with Forte CC, mostly implicit
        casts between void * and function pointers.

        * gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's
        state field is not a GdkModifierType. (Also #73900)
2002-03-20 21:47:01 +00:00
Owen Taylor
e6032b12eb Fix assignment of time in scroll events. (Sven Neumann, #75574)
Wed Mar 20 10:55:56 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix assignment
        of time in scroll events. (Sven Neumann, #75574)
2002-03-20 15:59:30 +00:00
Tor Lillqvist
a5eec70325 Use gdk_window_get_toplevel(), as it is the top-level windows that are
2002-03-20  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkdnd-win32.c (gdk_drag_find_window): Use
	gdk_window_get_toplevel(), as it is the top-level windows that are
	registered for DND.

	* gdk/win32/gdkwin32.h: Don't include gdkinternals.h.
2002-03-19 23:16:08 +00:00
Owen Taylor
8aceaa534a Fix backwards conditional. (#75019, Dan Winship.)
Mon Mar 18 11:09:17 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_set_override_redirect):
        Fix backwards conditional. (#75019, Dan Winship.)
2002-03-18 16:14:04 +00:00
Kristian Rietveld
bd7678c78d just return when we have an input_only window (fix by Owen Taylor)
Sat Mar 16 23:54:56 2002  Kristian Rietveld  <kris@gtk.org>

        * gdk/x11/gdkwindow-x11.c (gdk_window_set_static_bit_gravity): just
        return when we have an input_only window (fix by Owen Taylor)

        * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add
        scroll_sync_timer

        * gtk/gtktreeview.c (install_scroll_sync_handler): new function,
        (scroll_sync_handler): ditto,
        (gtk_tree_view_unrealize): take scroll_sync_timer into account
        (gtk_tree_view_row_deleted): install scroll_sync_timer instead of
        calling top_row_to_dy/dy_to_top_row directly
        -- this greatly speeds up clearing the model (#73199)

        * gtk/gtktreemodelsort.c
        (gtk_tree_model_sort_convert_path_to_child_path): fix up this function,
        for some reason I really screwed it up (fixes #74663)
2002-03-16 23:30:44 +00:00
Owen Taylor
4997dc2aa5 Fix byte shift arithmetic for big-endian. (Tracked down with help from
Fri Mar 15 15:37:01 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (convert_to_format):
        Fix byte shift arithmetic for big-endian. (Tracked
        down with help from Tuomas Kuosmanen)
2002-03-15 20:43:13 +00:00
Padraig O'Briain
ab62fadd82 Fudge keymap to have lower upper case variants if there is only a single
* gdk/x11/gdkkeys-x11.c (update_keymaps): Fudge keymap to have lower
upper case variants if there is only a single keysym per keycode and
the key symbol has upper and lower case variants (#74512)
2002-03-15 10:06:02 +00:00
Owen Taylor
94694c8dc2 Fix rather improbable reentrancy problem if a window is destroyed while
Thu Mar 14 17:09:52 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkwindow.c (gdk_window_process_all_updates): Fix rather
        improbable reentrancy problem if a window is destroyed
        while updates are being processed on another window. (Noticed
        by Michael Meeks, #74708)
2002-03-14 22:12:51 +00:00
Tor Lillqvist
7b22d3bd3a Add missing .la suffix for libgdk_pixbuf.
2002-03-08  Tor Lillqvist  <tml@iki.fi>

	* gdk/Makefile.am (LDFLAGS): Add missing .la suffix for	libgdk_pixbuf.
2002-03-07 23:27:00 +00:00
Manish Singh
cc83c500e4 gdk/Makefile.am rework so that only things that really need to be done
2002-03-06  Manish Singh  <yosh@gimp.org>

        * gdk/Makefile.am
        * gtk/Makefile.am: rework so that only things that really need to be
        done post install are in the hook
2002-03-06 18:03:28 +00:00
Manish Singh
81e287cc83 gdk/Makefile.am use install-foo-hook instead of install-foo-local, since
2002-03-05  Manish Singh  <yosh@gimp.org>

        * gdk/Makefile.am
        * gtk/Makefile.am: use install-foo-hook instead of install-foo-local,
        since foo-local is run before the their respective builtin targets
        in automake 1.5
2002-03-06 02:57:42 +00:00
Tor Lillqvist
34c06b2b6c gdk-pixbuf/gdk_pixbuf.rc.in gdk/win32/rc/gdk.rc.in Use GTK_API_VERSION.
2002-03-06  Tor Lillqvist  <tml@iki.fi>

	* gdk-pixbuf/gdk_pixbuf.rc.in
	* gdk/win32/rc/gdk.rc.in
	* gtk/gtk-win32.rc.in: Use GTK_API_VERSION.
2002-03-06 01:50:43 +00:00
Tor Lillqvist
d0ebbe9d77 Bypass calls to the grab/ungrab functions in gdkinput-win32.c, as they
2002-03-06  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab,
	gdk_pointer_ungrab): Bypass calls to the grab/ungrab functions in
	gdkinput-win32.c, as they don't effectively do anything anyway.
	(build_key_event_state): Set MOD2 bit if key is in AltGr group.
	(gdk_event_translate): Call _gdk_windowing_window_get_offsets()
	each time the offsets are used, on the window they refer to,
	instead of once in the beginning. The window in question might
	change due to event propagation.
	(gdk_event_translate): Set key event group to 0 for non-AltGr
	keys. Do set the SHIFT bit in the key event state also for
	ISO_Left_Tab. Now backtabbing finally works again.

	* gdk/win32/gdkunput-win32.c: Minor debugging output change.

	* gdk/win32/gdkkeys-win32.c (update_keymap): Set VK_TAB mapping to
	Gdk_Tab and GDK_ISO_Left_Tab, like on X11.
	(gdk_keymap_translate_keyboard_state): Add similar code as in the
	non-XKB case on X11 to generate a more correct
	consumed_modifiers. Add debugging output.
	(gdk_keyval_name): Use the U+xxxx format for UCS characters
	encoded as keyvals. Never return NULL, but hex number
	representation if keyval not in table.

	* gdk/win32/gdkwindow-win32.c (gdk_window_focus): Call
	SetFocus(). Doesn't seem to have any harmful effect, and probably
	is close to what this function is supposed to do. But it didn't
	fix GtkCombo as I had hoped.
	(gdk_window_set_type_hint): Don't intern the _NET_WM_* atoms that
	weren't used and wouldn't have any meaning on Win32 anyway.
2002-03-06 00:36:08 +00:00
Owen Taylor
ec09f3ab15 Update version to 2.0.0
Tue Mar  5 15:47:54 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in test/makefile.msc **.pc.in **/*.am:
	Update version to 2.0.0

        * gtk/Makefile.am (MAINTAINERCLEANFILES): Add stamp
        files.

        * configure.in (GDK_PIXBUF_VERSION): Require GLib 2.0.0,
        Pango, Atk, 1.0.0.

        * m4macros/gtk-2.0.m4: Default to 2.0.0 as the minimum
        version.
2002-03-05 21:04:09 +00:00
Owen Taylor
b543bbff41 Fixes for non XKB operation. (#73103)
Mon Mar  4 12:43:48 2002  Owen Taylor  <otaylor@redhat.com>

        Fixes for non XKB operation. (#73103)

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        Fix problem where GDK_Tab was converted to GDK_ISO_Left_Tab
        always, not just if Shift was pressed.

        * gdk/x11/gdkkeys-x11.c gdk/x11/gdkprivate-x11.c
        gdk/x11/gdkevents-x11.c: Move determination of group
        to _gdk_x11_get_group_for_state(), fix to handle non-XKB.

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Only
        add in SHIFT_MASK | LOCK_MASK to consumed_modifiers if the shifted
        and unshifted keysyms are different. Only add in group_switch_mask
        if the group-switched and non-group-switched keysyms are diferent.

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        When calling XKeycodeToKeysym, use group * keysyms_per_keycode / 2
        not group * keysyms_per_keycode. (Tor Lillquist)

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        Remove the hack to fudge the return value for GDK_Tab + Shift
        since that didn't work -- it didn't affect the reverse mapping.
        Instead fudge the non-XKB keymap instead.
2002-03-04 20:19:04 +00:00
Anders Carlsson
a71bd6c922 Fix tyop in docs.
2002-03-03  Anders Carlsson  <andersca@gnu.org>

	* gdk/x11/gdkwindow-x11.c (gdk_window_move_resize): Fix tyop
	in docs.
2002-03-03 17:36:32 +00:00
Owen Taylor
15f8a55fba Add a --enable-explicit-deps option to control whether dependency
Fri Mar  1 00:46:49 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Add a --enable-explicit-deps option to control
        whether dependency libraries are written into .la files and .pc
        files.  Default is auto: if static libraries are off and shlib
        dependencies are found, don't write deps.

        * gdk/Makefile.am gtk/Makefile.am sanitize-la.sh: Shell script
        used to strip dependencies out of .la files.

        * Makefile.am: Add a slightly modified distcheck rule that passes
        --enable-gtk-doc to the configure inside.
        (So that 'make dist' succeeds inside.)

        * configure.in: If pango was compiled with
        --disable-explicit-deps, then repeat the checks for X and
        freetype ourselves so we don't depend on linking to libraries
        that pango doesn't reveal in the link line. Add some more paranoia
        for whether what we detect ourselves matches what Pango backends
        we found.
2002-03-02 23:29:02 +00:00
Tor Lillqvist
7fee0db1f0 gdk/gdk.def Add and (trivially) implement
2002-03-03  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def
	* gdk/win32/gdkevents-win32.c: Add and (trivially) implement
	gdk_pointer_grab_info_libgtk_only() and
	gdk_keyboard_grab_info_libgtk_only().

2002-03-02  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (build_keypress_event): Reorder
	code, keyval should get a value in all cases now.
	(build_keyrelease_event): Set GDK_CONTROL_MASK here, too, if it
	was a control character produced with Alt+keypad digits.
	(gdk_event_translate): Minor cleanups to keyboard input
	handling. Still need more major work.
2002-03-02 22:49:45 +00:00
Owen Taylor
b54e5f4ca1 Robustify tracking of pointer grab window.
Fri Mar  1 18:39:44 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/{gdkevents-x11.c,gdkmain-x11.c,gdkprivate-x11.h,
        gdkwindow-x11.c}: Robustify tracking of pointer grab window.

        * gdk/x11/gdkmain-x11.c: Keep track of current keyboard
        grab window.

        * gdk/x11/gdkmain-x11.c (gdk_pointer_grab_info_libgtk_only,
        gdk_keyboard_grab_info_libgtk_only): Private libgtk => libgtk
        API for finding out current grab information.

        * gtk/gtkmain.c (rewrite_event_for_grabs): Rewrite events
        so that the effective behavior of owner_events = TRUE is changed
        to "deliver events to same window group normally" instead
        of "deliver events to same application normally. #69934

        * gtk/gtkrange.c: Use an explicit gtk_grab_add() so that
        it works within the GtkList combo, where there is a
        owner_events = FALSE gdk_pointer_grab() already in effect.
        (#65006, reported by Damon Chaplin)
2002-03-02 20:37:07 +00:00
Tor Lillqvist
d237e8557d gdk/gdkkeys.c (gdk_keyval_convert_case) If the keyval to be converted is
2002-03-01  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdkkeys.c (gdk_keyval_convert_case)
	* gdk/x11/gdkkeys-x11.c (gdk_keyval_convert_case): If the keyval
	to be converted is one of those that consist of a Unicode
	character plus our special flag bit, use the
	g_unichar_to{lower,upper} functions (Bug#73112).

	* gdk/gdkkeys.c (gdk_keyval_convert_case): Drop the #ifdefs for
	the GDK keysym symbols. As we include gdkkeysyms.h, we know they
	are there. And if GDK keysyms some day are added/removed, this
	function needs changes, too, anyway.
2002-03-01 22:09:27 +00:00
Owen Taylor
b924594ef1 Fix some reported (but not significant) UMR's from purify. (#73160, Morten
Fri Mar  1 17:00:28 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpolyreg-generic.c: Fix some reported (but not significant)
	UMR's from purify. (#73160, Morten Welinder)
2002-03-01 22:01:51 +00:00
Owen Taylor
fce84d0535 include gdkkeysysms.h if compiling gdk_keyval_convert_case.
Thu Feb 28 19:55:01 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkkeys.c: include gdkkeysysms.h if
        compiling gdk_keyval_convert_case.

        * gtk/gtkmenubar.c (gtk_menu_bar_cycle_focus): Implement
        <Control>Tab <Control><Shift>Tab to cycle between
        all menu bars in a toplevel once one is up.

        * tests/testgtk.c: Add a second menubar, this
        example is already full of crack anyways.

        * gtk/gtkmenushell.c (gtk_menu_shell_key_press): Padd
        unhandled events up to the parent menu shell.

        * gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Only
        pop up the menu if the parent menu shell is still active.

        * gtk/gtkcontainer.[ch] (_gtk_container_focus_sort): Add a
        old_focus argument, export privately.
2002-03-01 01:05:11 +00:00
Tor Lillqvist
8beceb3846 Remove the event_mask, it is now in GdkWindowObject.
2002-03-01  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32): Remove
	the event_mask, it is now in GdkWindowObject.

	* gdk/win32/gdkwindow-win32.c: Change accordingly. Set the
	GDK_STRUCTURE_MASK in gdk_window_set_events(), as it is always set
	in gdk_window_new(), too. (Bug#72921)

	* gdk/win32/gdkevents-win32.c: Change accordingly here, too.
	(vk_from_char): New function, calculates the virtual keycode
	corresponding to the char in a WM_CHAR message.
	(build_keypress_event, build_keyrelease_event): Use it.
	(build_keypress_event): Call ImmReleaseContext() after using the
	input context. This might plug a memory or resource leak.
	(build_key_event_state): Remove #if 0 code.
	(gdk_event_translate): Actually, it would be preferrable to always
	handle just the WM_KEYDOWN and WM_KEYUP messages, not WM_CHAR at
	all, and thus drop the contorted logic with ignore_wm_char etc.

	* gdk/win32/gdkkeys-win32.c: (gdk_keymap_get_entries_for_keyval):
	Debugging output.
	(gdk_keymap_translate_keyboard_state): Return correct value. (But
	_gtk_key_hash_lookup() doesn't check the return value...)
2002-02-28 23:38:55 +00:00
Owen Taylor
3b906a9c8f Initialize private->event_mask from attributes we retrieved for the
Thu Feb 28 14:49:08 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): Initialize
        private->event_mask from attributes we retrieved for
        the window.
2002-02-28 21:09:04 +00:00
Tor Lillqvist
3244b86dd6 Move bdfcursor.c from libgdk_win32_la_SOURCES to EXTRA_DIST.
2002-02-28  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/Makefile.am: Move bdfcursor.c from
	libgdk_win32_la_SOURCES to EXTRA_DIST.

	* gdk/win32/gdkgc-win32.c (gdk_win32_colormap_color_pack): In the
	bitmap case, use just the LSB of the pixel value. Does this match
	X11 semantics? Or should it be pixel!=0?
2002-02-28 00:49:36 +00:00
Owen Taylor
7ea17ce7fd ed Feb 27 19:16:50 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
        * gdk/x11/gdkwindow-x11.c (gdk_window_get_events):
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_events):
        * gdk/win32/gdkwindow-win32.c (gdk_window_set_events):
        * gdk/win32/gdkwindow-win32.c (gdk_window_new):
        * gdk/gdkwindow.h (struct _GdkWindowObject):
        * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_events):
        Save the window's event mask in window->event_mask.

        * gdk/gdkwindow.c (gdk_window_process_updates_internal): Only
        generate expose events if GDK_EXPOSE_MASK is included
        window->event_mask. (#54506)
2002-02-28 00:26:51 +00:00
Owen Taylor
e6f466c12e Register all stock icons "unscaled" so that we don't have icons only
Wed Feb 27 12:34:21 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkiconfactory.c: Register all stock icons
	"unscaled" so that we don't have icons only available
	at some sizes. (#68896)

Wed Feb 27 11:59:05 2002  Owen Taylor  <otaylor@redhat.com>

	Some ASCII vs. locale fixes from Darin Adler (#55837)

	* gtk/gtkcombo.c (gtk_combo_find): Implement real
	case-insensitive comparison using g_utf8_casefold().

	* gtk/gtkaccellabel.c (gtk_accel_label_refetch): Fix
	assignment of gunichar to char by replacing g_unichar_totitle
	with g_ascii_toupper ... the contents would only be ascii
	here anyways.

	* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale)
	* gtk/gtkfontsel.c (gtk_font_selection_show_available_fonts):
	Replace a calls to g_strcasecmp() with g_ascii_strcasecmp().
2002-02-27 17:35:58 +00:00
Hans Breuer
bc94033dd3 new file
2002-02-27  Hans Breuer  <hans@breuer.org>

	* demos/gtk-demo/makefile.msc.in : new file

	* gdk-pixbuf/gtk-pixbuf.rc.in : new file to include
	  version resource
	* gdk-pixbuf/makefile.msc : create and use gdk-pixbuf.res

	* gdk/win32/gdkkeys-win32.c : handle undefined LANG_URDU,
	(gdk_keyval_name) : fix endless looping

	* gtk/gtkfilesel.c : translate_win32_path() static
	* gtk/queryimmodules : print_escaped(), query_module() static

	* gtk/makefile.msc.in : added gtkkeyhash, build gtk-win32.res

	* gtk/stock-icons/makefile.msc : regenerated from directory
	listing (almost all filenames changed)
2002-02-27 16:37:04 +00:00
Owen Taylor
807336c720 Shouldn't map KP_Enter to '\n', or KP_Tab to \t' since we don't map the
Tue Feb 26 21:35:31 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkkeyuni.c: Shouldn't map KP_Enter to '\n',
        or KP_Tab to \t' since we don't map the corresponding
        main keyboard characters in that way. (#61561,
        Padraig O'Briain)
2002-02-27 02:43:09 +00:00
Owen Taylor
0fd671aed5 Make sure Page_Up, Page_Down get those names, not Prior, Next.
Tue Feb 26 19:16:28 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/win32/gdkkeys-win32.c (gdk_keyval_name):
        * gdk/x11/gdkkeys-x11.c (gdk_keyval_name):
        Make sure Page_Up, Page_Down get those names, not Prior,
        Next.
2002-02-27 00:24:11 +00:00
Tor Lillqvist
93fa867e14 Implement the functions that until now just were non-functional stubs. For
2002-02-26  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkkeys-win32.c: Implement the functions that until
	now just were non-functional stubs. For "hardware keycodes", we
	use Windows virtual keycodes. Not scancodes, although that at
	first might seem more low-level and a better match to X11
	keycodes.

	The Windows API is really mixed up and confused with respect to
	scancodes and virtual keycodes. (Surprised?) Some scancodes are
	generated by two keys on the keyboard (!), and although the
	keyboard messages do have a flag to indicate which key the user
	pressed, other API that take a scan code as input don't let you
	specify which actual key you mean.

	(update_keymap): Function to build a X11-like representation of
	the keyboard. Each key has four keysyms: two levels (nonshifted
	and shifted) and two groups (normal and with AltGr).

	(gdk_keymap_get_direction): Use the codepage corresponding to the
	thread's input locale, not the system codepage.

	* gdk/win32/gdkglobals-win32.c
	* gdk/win32/gdkmain-win32.c
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkwindow-win32.h
	* gdk/win32/gdkwindow-win32.c: Remove the input_locale and
	charset_info fields from GdkWindowImplWin32. Input locale is
	per-thread in Windows, and as GDK on Windows really only works
	when the GDI interaction all happens in just one thread anyway,
	this state can be global. Use globals _gdk_input_locale and
	_gdk_input_codepage instead. Set these based on the thread's input
	locale (keyboard layout, or which IME is active).

	* gdk/win32/gdkevents-win32.c: Set the group and hardware_keycode
	fields in GDK key events. On input locale change messages, set
	the global state variables, and inform update_keymap() that it
	has to rebuild the keymap.
2002-02-26 01:18:27 +00:00
Owen Taylor
9953d39036 Fix precendence problem. (Sven Neumann)
Mon Feb 25 12:47:25 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        Fix precendence problem. (Sven Neumann)
2002-02-25 17:48:32 +00:00
Owen Taylor
3ce820584f Convert over to using an GtkInvisible - selections don't work properly
Sun Feb 24 23:23:28 2002  Owen Taylor  <otaylor@redhat.com>

	* tests/testselection.c (main): Convert over to using
	an GtkInvisible - selections don't work properly
	with now NO_WINDOW GtkToggleButton. (Example really
	should be using GtkClipboard.)

	* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
	Fix  problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
	actual_length when converting atoms as well.
	(Gregory Merchan, #72074)
2002-02-25 05:12:14 +00:00
Alexander Larsson
3e7279cff4 Always NULL out bg_pixmap, even when it used to be None or parent
2002-02-24  Alexander Larsson  <alla@lysator.liu.se>

	* gdk/x11/gdkwindow-x11.c (gdk_window_set_background):
	Always NULL out bg_pixmap, even when it used to be None
	or parent relative.
2002-02-25 04:00:37 +00:00
Owen Taylor
82b76bbee3 gtk/gtksettings.c gtk/gtkstyle.c: Patch from Richard Hestilow to add a
Sat Feb 23 20:59:05 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkstyle.c gtk/gtkrc.[ch]: gtk/gtksettings.c gtk/gtkstyle.c:
        Patch from Richard Hestilow to add a gtk-font-name GtkSetting.

        * gdk/x11/gdkevents-x11.c: Add Gtk/FontName XSETTING.
2002-02-24 02:24:51 +00:00
Tor Lillqvist
591fe66d00 Set also group in the key press/release events, always to zero for now.
2002-02-24  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (build_keypress_event,
	build_keyrelease_event, gdk_event_translate): Set also group in
	the key press/release events, always to zero for now.
2002-02-23 23:51:19 +00:00
Owen Taylor
e5d1ea8cfe Massive padding addition to class structures.
Sat Feb 23 11:54:12 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/*.h gdk/*.h: Massive padding addition to class structures.

        * gtk/gtktextmark.h: Fix a FIXME about G_CONST_RETURN.
2002-02-23 20:22:05 +00:00
Owen Taylor
a504db9e83 Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann, #72182.
Fri Feb 22 18:36:45 2002  Owen Taylor  <otaylor@redhat.com>

	Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann,
	#72182.

	* demos/gtk-demo/main.c gtk/gtktreeview.c gtk/gtktoolbar.c
	gtk/gtkpaned.c gtk/gtkobject.c gtk/gtkcontainer.c
	gtk/gtkcolorsel.c gtk/gtkcellrender.c gdk/x11/xsettings-client.h:
	Squash trailing commas on enumerations.

	* gdk/gdktypes.h: Drop GDK_RELEASE_MASK to 1 << 30 instead
	of 1 << 31 to work around AIX compiler problem. (C standard
	seems to imply that compiler is required to use an unsigned
	type for the enum value in this case.)

	* gdk/gdkpixbuf-drawable.c: Fix lvalue casts.

	* gtk/gtkwindow.h: Fix use of enum types for bitfields ...
	compilers may choose to use a signed type for bitfields.
2002-02-23 00:13:17 +00:00
Owen Taylor
708e1a9574 Implement "fuzzy" key binding lookups; allow matches on key and level but
Wed Feb 20 14:26:47 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
        allow matches on key and level but not group. Also, implement
        ignoring "consumed modifiers correctly."

        * gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
        GtkKeyHash.

        * gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
        the group for key release events as well as key press events.

        * gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        Rename unused_modifiers to consumed_modifiers, make the docs and
        non-Xkb implementation match the Xkb implementation.

        * gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
        doc and parameter name changes.

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
        XkbTranslateKeyCode doesn't handle LockMask, we need to handle
        it ourselves.

        * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
        <Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
        to allow dealing with ISO_Left_Tab.

        * gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
        gtk/gtkpaned.c gtk/gtkcombo.c  gtk/gtknotebook.c:
        Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
        or <Shift>Tab both are equivalent as a binding specifier.)

        * gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
        GTK_RUN_ACTION, so you can bind an accelerator to it.

        * gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
        gdk_unicode_to_keyval on the mnemonic character.

        * tests/testgtk.c: Add a test for the new fuzzy key binding matching.
2002-02-21 17:14:10 +00:00
Owen Taylor
e6d7f5e196 Set the property as type ATOM_PAIR, not ATOM. (#72074, Gregory Merchan.)
Wed Feb 20 21:52:13 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkselection.c (gtk_selection_request): Set the property
        as type ATOM_PAIR, not ATOM. (#72074, Gregory Merchan.)

        * gdk/x11/gdk{property,selecton}-x11.c: Auto-convert properties
        of type ATOM_PAIR as well as properties of type ATOM.
2002-02-21 03:00:40 +00:00
Owen Taylor
6fd8f4aab0 Add a XSETTING mapping for gtk-can-change-accels. (#70218, Thomas
Wed Feb 20 16:19:49 2002  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkevents-x11.c: Add a XSETTING mapping for
	gtk-can-change-accels. (#70218, Thomas Leonard.)
2002-02-20 21:22:22 +00:00