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.
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.
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-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.
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-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.
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)
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 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...)
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 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?
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().
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)
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-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.
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-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.
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 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.
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.
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.
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.
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.
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-18 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkevents-win32.c : process WM_PAINT messages
for bg_pixmap == GDK_NO_BG, fixes The GIMP's canvas
rendering glitches on win32
* gdk/win32/gdkinput-win32.c : use g_object_new to create
GdkDevice instead of g_new
* gtk/gtkpaned.c : make LAST_SIGNAL the last in enum.
This avoids to smash totally unrelated static data and
resulting random crashes. (as reported on gtk-devel-list,
2002-02-10 : testgtk crashes)
* gtk/gtk.def : add new file selection entry points
Sun Feb 17 21:30:49 2002 Owen Taylor <otaylor@redhat.com>
* Released 1.3.14
* configure.in: Version 1.3.14, interface, binary age 0.
* gdk/gdkregion-generic.c (miSubtractO): Fix out-of-bounds
read. (#71619, reported by Morten Welinder)
* gtk/gtkmenu.c (gtk_menu_class_init): Fix setting default.
* gtk/gtkfilesel.c (gtk_file_selection_class_init): Add
a select_multiple property to go along with thenew
get/set_select_multiple.
* gdk/gdkwindow.c: Patch from Soeren Sandmann to improve
update debugging code. (#71703)
2002-02-17 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (free_colors): Don't set the
PC_EXPLICIT flag for unused palette entries, that might have
undesired side effects. Just set them to black. Black is always
present in a palette, so having superfluous black entries won't
cause any extra allocations from the system palette either when
realized.
* gdk/win32/gdkevents-win32.c
(gdk_event_translate:WM_QUERYNEWPALETTE): Don't do anything if the
system visual is static color, i.e. the user has told GDK to use
just the 16 static colors. In that case no need to redraw
anything, as the colors are static and by definition always
correctly mapped in the system palette.
(WM_PALETTECHANGED): Ditto, no need to call UpdateColors() either.
2002-02-17 Tor Lillqvist <tml@iki.fi>
* gdk/win32/*.c: Massive changes. Too many to list here, but I'll
try a summary:
1) Unify GdkPixmap and GdkImage implementation: For each
GdkPixmap, allocate a GdkImage, and vice versa.
GdkPixmapImplWin32Data has a pointer to the GdkImage.
GdkImage::windowing_data is a pointer to the GdkPixmap.
This simplifies many pixmap and image related functions a lot, and
reduces duplicated code snippets. For instance, there is only one
place in gdk/win32 where CreateDIBSection() is called, in the
function _gdk_win32_new_pixmap(). Converting a bitmap (GdkPixmap)
to a Windows region is almost trivial, with the bitmap bits being
readily accessible in the associated GdkImage.
All blitting between GdkPixmaps, GdkWindows and GdkImages goes
through handled the _gdk_win32_blit() function, which calls
different functions to handle the cases of blitting from pixmaps,
inside windows (scrolling), or from windows, which all require
somewhat different handling.
2) Support 256-color mode. This has long been very broken, now it
works more or less OK. Keep the logical palette for each colormap
as small as possible while allocating and freeing colors. Select
and realize the logical palette associated with a GdkColormap into
a DC before drawing or blitting.
When the display is in 256-color mode, make it possible for the
user to override the size of the palette(s) used with either the
GDK_WIN32_MAX_COLORS environment variable, or a -max-colors
command line option. It is possible to reduce the palette size all
the way down to using just the 16 static colors (which causes the
system visual to be of type GDK_VISUAL_STATIC_COLOR. This could
possibly be useful if one desperately wants to avoid color
flashing. (Note that in order for this to work properly, an as of
yet not commited fix to gdkrgb.c is needed.)
Handle the palette messages. On WM_PALETTECHANGED, call
UpdateColors() for the given window hierarchy. Do this only if a
window in some other top-level window hierarchy caused the palette
change (realized a palette). Do this max five times in a row (an
arbitrarily chosen limit), though, otherwise redraw by generating
expose events. On WM_QUERYNEWPALETTE, cause a redraw of the whole
window hierarchy by generating GDK_EXPOSE events.
3) Code cleanup in general. For instance, remove the "emulated"
X11 structs ColormapStruct, Visual and XStandardColormap. Use the
new GDK_DEBUG_* flags for debugging output in the relevant source
files. Remove the unused colormap hash table in gdkcolor-win32.c
4) Plug some resource leaks.
2002-02-14 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Use
g_filename_to_uri() to actually create legal URIs in the
text/uri-list data.
2002-02-16 Tor Lillqvist <tml@iki.fi>
* gdk/win32/rc/Makefile.am (gdk-win32res.lo): Depend on gtk.ico.
* gdk/win32/rc/gtk.ico: Use the real GTK logo. Thanks to Jernej
Simoncic for providing the nice multi-resolution .ico file.
2002-02-13 Tor Lillqvist <tml@iki.fi>
* gdk/gdkinternals.h: Add some more GdkDebugFlags, for more
fine-grained debugging output (mainly used in the Win32 backend).
* gdk/gdk.c: Corresponding additions to the gdk_debug_keys table.
Wed Feb 13 12:41:44 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c (gtk_init_check): g_warning() if setting
the local fails, like gdk_set_locale() did.
* gdk/x11/gdkselection-x11.c (gdk_text_property_to_utf8_list):
Don't free local_list if local_count == 0. (#71241, reported
by Kevin Vandersloot.)
* gdk/x11/gdkselection-x11.c (gdk_text_property_to_text_list):
Clean up list == NULL handling and failure.
2002-02-10 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkgeometry-win32.c : don't reduce the scroll
rect size by the scroll amount
* gdk/win32/gdkwindow-win32.c
* gdk/win32/gdkselection-win32.c : added some casts to
make it compile with msvc's strict type checking
* gtk/fnmatch.c : #include <ctype.h> again for tolower
prototype. The fnmatch() code assumes to be in the crt
locale though it is feeded by utf8 strings from gtkfilesel.c
* gtk/gtkfilesel.c : let ->cmpl_text be a strdup managed by
_CompletionDir instead of referencing already freed memory
* gtk/gtktooltips.c (gtk_tooltips_init) : fix typo to
gtk_rc_parse_string (theDefaultTooltipColor) once as it
was intended
* tests/makefile.msc : added more tests
* tests/testgtk.c (create_list) : don't try to load gtkenums.h
from the current directory use ../gtk/gtkenums.h instead
Sat Feb 9 00:16:31 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image):
XCopyArea with subwindow_mode = IncludeInferiors.
(#70999)
* demos/testpixbuf-save.c (configure_cb): Fix a minor
memory management problem.
Tue Feb 5 19:13:42 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_queue): Keep
the length of the anti-expose queue finite, by if
it gets too long, first doing a XSync() and checking
the event queue, and if that doesn't work, simply
discarding all anti-expose items in the queue.
* gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Fix ordering
on ConfigureNotify (#56349, Thomas Leonard)
Thu Jan 31 11:33:52 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (insert_atom_pair): Fix
another missing static.
* gtk/gtkimmodule.c (n_loaded_contexts): And another.
* gdk/x11/Makefile.am gdk/x11/gxid_lib.c: Don't
build gxid sources at all except in the vanishingly
rare case of --with-xinput=xfree.
Tue Jan 29 19:51:05 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkenums.h: Deprecate GtkPreviewType,
GtkSignalRunType, GtkSideType, GtkSubmenuPlacement, GtkSubmenuDirection
(#68183, Matthias Clasen)
* gtk/gtkmenuitem.h: Remove _gtk_menu_item_set_placement() from
the public header to avoid having to use GtkSubmenuPlacement.
* gtk/{gtkmenuitem.c,gtkmenubar.c,gtkmenushell.c}: #define
GTK_MENU_INTERNALS to preserve access to GtkSubmenu*.
* gdk/gdki18n.h: Deprecate contents. (Darin Adler.)
Tue Jan 29 17:40:02 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable):
Call _gdk_draw_pixbuf(), thus enabling using this function
for pixbufs with alpha. (#68801)
* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Move
implementation of gdk_pixbuf_render_to_drawable()
to here.
2002-01-29 Sven Neumann <sven@gimp.org>
* gdk/x11/gdkimage-x11.c (_gdk_x11_copy_to_image): fixed a segfault
that showed up when using the color picker.
2002-01-25 Federico Mena Quintero <federico@ximian.com>
Merge from gdk-pixbuf stable.
* gdk/gdkpixbuf-drawable.c (rgb565msb): Fixed the endianness
conversion --- swap the individual 16 bit values instead of taking
everying as a 32 bit value.
(rgb565lsb): Likewise.
(rgb555lsb): Likewise.
(rgb555msb): Likewise.
2002-01-25 Alex Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_drawable_impl_fb_class_init):
Implement copy_to_image instead of get_image
* gdk/linux-fb/gdkimage-fb.c:
Implement _gdk_image_new_for_depth, _gdk_windowing_get_bits_for_depth and
_gdk_fb_copy_to_image.
Based in part on patch from Mathieu Lacage <mathieu_lacage@realmagic.fr>
* gdk/linux-fb/gdkmain-fb.c:
Make ENABLE_FB_MANAGER region larger.
* gdk/linux-fb/gdkprivate-fb.h:
Change _gdk_fb_get_image to _gdk_fb_copy_to_image.
Mon Jan 21 11:46:39 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c (gdk_init_check): Set the fallback program class here,
rather than lazilygdk_get_program_class(), since we don't want
-name to override it. (#69123, Ryan Lovett)
Sat Jan 19 08:47:41 2002 Jeff Garzik <jgarzik@mandrakesoft.com>
* gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
Wrap case values in GPOINTER_TO_UINT(). Fixes build with gcc 3.x.
* gtk/gtkmain.c: Include sys/types.h if G_OS_UNIX.
Fixes build with gcc 3.x and -ansi.
Simplify Makefiles.
<URL: http://bugzilla.gnome.org/show_bug.cgi?id=68969>
* gdk/Makefile.am: Remove use of automake conditionals to pick
library to build.
* gtk/Makefile.am: Likewise.
* gdk/Makefile.am (LDFLAGS): Use $(libdir), not @prefix@/lib.
* gtk/Makefile.am (LDFLAGS): Likewise.
Thu Jan 17 13:08:34 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkmain-x11.c (gdk_error_trap_push): Move
here, and save/restore the X error handler to allow
people using GTK+ to set the X error handler to something
custom without disturbing the operation of GDK.
* gdk/linux-fb/gdkmain-fb.c (gdk_error_trap_push)
* gdk/win32/gdkmain-win32.c (gdk_error_trap_pop): Add
dummy implementations.
* gdk/x11/gdkmain-x11.c gdk/x11/gdkevents-x11.c
gdk/x11/gdkdnd-x11.c: Use gdk_error_trap_push()/pop()
for all error trapping.
* gdk/x11/gdkdnd-x11.c: Remove '#if 0' code.
* gdk/x11/gdkdnd-x11.c (gdk_window_cache_new): Fix
problem where we would add the results anyways,
and then add it again if no error occurred, and problem
where we could leave _gdk_error_warnings() unset.
Mon Jan 14 17:14:13 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkselection-x11.c (sanitize_utf8): Don't
mangle sequences of consecutive \n or \r.
2002-01-12 Tor Lillqvist <tml@iki.fi>
Fixes contributed by Archaeopteryx Software: This is a first small
part of their changes. Will commit more later.
* gdk/win32/*.c: Add some more checks for failed GDI calls. If a
call fails, don't use bogus values.
* gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): Plug
memory leak: g_free() the AND and XOR bitmaps after use.
(_gdk_cursor_destroy): If we are destroying the current Windows
cursor, set the Windows cursor to none first.
* gdk/win32/gdkgc-win32.c (predraw_set_foreground): Delete the old
brush that was in the DC, like the win32-procution branch does. I
guess this plugs a resource leak? With the HDC cache, the old
brush might be something we created ourselves, and not a stock
brush. And it doesn't do any harm to call DeleteObject on stock
brushes.
* gdk/win32/gdkwindow-win32.c (gdk_window_impl_win32_finalize): If
the window has a cursor which is the current Windows cursor,
before destroying it set the current Windows cursor to none.
(gdk_window_set_cursor): Also here, if destroying the current
Windows cursor, set the current Windows cursor to none first.
(gdk_window_get_pointer): Revamp logic.
Wed Jan 9 20:56:42 2002 Jonathan Blandford <jrb@redhat.com>
* gdk/x11/gdkkeys-x11.c (get_xkb): get the types as well as the
symbols because we need them in MyEnhancedXkbTranslateKeyCode.
2002-01-10 Tor Lillqvist <tml@iki.fi>
Apply the same fixes and improvements as to the
gtk-1-3-win32-production branch: Bug fixes and cleanup of
selection and DND functionality. Still doesn't work as well as the
win32-production branch, though, but getting closer.
After this, need to add Archaeopteryx Software's OLE2 DND support.
* gdk/win32/gdkselection-win32.c (gdk_selection_owner_set,
gdk_selection_send_notify, generate_selection_notify): Don't use
SendMessage() to generate events for the same app, instead use
gdk_event_put().
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkevents-win32.c: Thus, remove declaration, definition,
initialisation and handling of gdk_selection_notify_msg,
gdk_selection_request_msg and gdk_selection_clear_msg.
* gdk/win32/gdkselection-win32.c (gdk_text_property_to_text_list,
gdk_free_text_list, gdk_string_to_compound_text,
gdk_free_compound_text): Implement trivially, witrh a text_list
always having a single element, and a compound text always
consisting of just a single (UTF-8!) string. Let's see how well
this works.
* gdk/win32/gdkselection-win32.c (gdk_selection_convert): Fix
non-ASCII paste from the clipboard: Try getting the same formats
from the Windows clipboard that gdk_property_change() puts there:
CF_UNICODETEXT, UTF8_STRING or CF_TEXT+CF_LOCALE.
* gdk/win32/gdkproperty-win32.c (gdk_property_change): When
storing text on the clipboard, handle non-ASCII text
correctly. The logic is as follows:
If we have only ASCII characters, use CF_TEXT.
Else, if we are on NT, use CF_UNICODETEXT.
Else (we are on Win9x), if all the characters are present in the
code page of some installed locale, use CF_TEXT and also set
CF_LOCALE to that locale.
Else (still on Win9x) store as RTF. We use a very simple RTF
string, just the text, no fonts or other crap, with the non-ASCII
characters as Unicode \uN keywords. Additionally, also store the
UTF-8 string as such, under the format "UTF8_STRING", so that GDK
can also paste from the Clipboard what it has copied there. (Thus
no need to implement any RTF parser.)
(find_common_locale): New function, implements the search for a
locale for case 3 above.
* gdk/win32/gdkglobals-win32.c: New global variables
compound_text, text_uri_list, utf8_string, cf_rtf and
cf_utf8_string.
* gdk/win32/gdkim-win32.c (_gdk_ucs2_to_utf8): New function,
converts from a wchar_t string to UTF-8.
(_gdk_utf8_to_ucs2): Rename from _gdk_win32_nmbstowchar_ts.
(_gdk_utf8_to_wcs): Rename from gdk_nmbstowchar_ts.
* gdk/win32/gdkevents-win32.c (build_keypress_event): Use
_gdk_ucs2_to_utf8().
* gdk/win32/gdkselection-win32.c: Remove some unnecessary logging.
* gdk/win32/gdkdnd-win32.c: Plug memory leaks, the
gdk_drag_context_ref() was called unnecessarily in a couple of
places, meaning drag contexts were never freed. The same memory
leaks seem to be present in gdk/linux-fb/gdkselection-fb.c, BTW.
(gdk_drop_reply): For WIN32_DROPFILES drops, free the temporarily
stored file list.
* gdk/win32/gdkselection-win32.c: Clarify the use of the
sel_prop_table. Now it is used only for storing the GDK_SELECTION
"properties".
The file names dropped with WM_DROPFILES -style DND is stored
temporarily (between the drop and the target picking them up) in a
separate place.
Have a separate hash table to map selection atoms to owner
windows. This used to be quite mixed up.
(_gdk_dropfiles_store): New function, to store the dropped file
list for the drop target to possibly fetch, and clear it
afterwards, from gdk_drop_reply().
(gdk_selection_owner_get): Much simplified now.
Wed Jan 9 10:20:16 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkgc-c11.c: Check for
RENDER before trying to use it... XRenderFindFormat() prints
warnings if called when extension isn't present.
Mon Jan 7 22:19:32 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (draw_with_pixmaps): Fix a
problem where were the offset into the image was passed
into convert_to_format() wrong.
* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_pixbuf): Call
gdk_x11_drawable_update_picture_clip () before using
the picture; allow update_picture_clip() to take a NULL gc
to mean no clipping.
2002-01-04 Hans Breuer <hans@breuer.org>
* gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
need to cast image->mem away from void* to avoid
'error C2036: 'void *' : unknown size'. Doing pointer
arithmetics on void pointers is a GCCism afaik.
* gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
_gdk_draw_pixbuf ()
* gdk/makefile.msc gdk/win32/makefile.msc
gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h
* gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
and take care of image->visual possibly NULL.
* gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
_gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
Again take care of image->visual possibly NULL.
* gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()
* gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
instead of private field access
* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
colormap setting to the gdk-X behaviour
Fri Jan 4 01:36:48 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c (convert_to_format): Optimize
a little bit. (More for consistency than because it
makes much of a difference.)
Thu Jan 3 22:18:15 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkprivate-x11.h
(_gdk_x11_have_render): Private function to tell if we have RENDER
extension.
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Return
None if we don't have RENDER extension.
* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Don't
use Xft unless we have render extension.
* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
Handle missing render extension.
* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkpixmap.c gdk/gdkwindow.c
gdk/gdkinternals.h: Add a private copy_to_image() virtual function
to the GdkDrawable vtable that extends get_image() to allow
copying onto existing images. Make the default implementation of
get_image() use this so that backends don't have to implement
both. Add private wrapper _gdk_drawable_copy_to_image().
* gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.c
gdk/x11/gdkdrawable-x11.c (_gdk_x11_copy_to_image): Implement
copy_to_image() semantics, speed up by using ShmPixmaps and
XCopyArea when possible, XFlush() after ungrabbing the server,
generally redo the logic once again.
* gdk/gdkinternals.h gdk/x11/gdkimage-x11.c
_gdk_windowing_bits_per_depth(): Function to convert from depth to
bits-per-pixel. (We assume only one bpp per depth - X requires
this.)
* gdk/gdkinternals.h gdk/gdkrgb.c gdk/gdkimage.c: Move the GdkRGB
scratch image code into a generic _gdk_image_get_scratch() chunk
of code that we can use other places we need scratch images.
* gdk/gdkimage.c gdk/x11/gdkimage.c gdk/gdkinternals.h:
Add _gdk_image_new_for_depth() as the backend
to _gdk_image_new() to allowing creating images with
a depth and no visual.
* gdk/gdkpixbuf-drawable.c: Fix so that getting
parts of images not at 0,0 actually works.
* gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
gdk/gdkwindow.c gdk/gdkpixmap.c gdk/gdkpixbuf-render.c:
- Add a new GdkDrawableClass vfunc _draw_pixbuf, and
_gdk_draw_pixbuf() [ will be made public later ], to allow
backends to accelerate drawing pixbufs.
- Move the implementation of gdk_pixbuf_render_to_drawable_alpha()
to be the default implementation.
- Update docs for gdk_pixbuf_render_to_drawable_alpha().
- Optimize the default implementation by using
_gdk_image_copy_to_pixmap() and scratch shared images, and
special casing the compositing.
* gdk/x11/gdkdrawable-x11.c: Accelerate _gdk_draw_pixbuf()
with alpha using the RENDER extension.
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
Optimize by _gdk_image_copy_to_pixmap() and scratch images.
* tests/testrgb.c: Add test for speed of alpha composition,
reduce the number of iterations since alpha composition
can be a bit slow.
* gdk/x11/gdkimage-x11.c gdk/gdkprivate-x11.h (_gdk_x11_image_get_shm_pixmap):
Private function to get a ShmPixmap for an image, if possible.
Thu Dec 27 18:12:55 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (gdk_property_get): Fix
problem where retrieved atoms weren't properly returned.
2001-12-28 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkfont-win32.c: Use G_N_ELEMENTS().
(unicode_classify): Don't return -1 on encountering an
unclassified character, but play it safe and return U_BASIC_LATIN.
Sat Dec 22 12:38:03 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: 1.3.12, interface, binary age 0.
* configure.in: Require new versions of Glib, Pango, ATK.
* NEWS: Updated.
* configure.in: Make explicit what libtool we are executing.
(Tomas Ogren)
* gdk/gdkcolor.c gdk/gdkgc.c gdk/gdkwindow.c: Doc fixes.
* gtk/gtkwidget.c (gtk_widget_[class]path) gtkrc.h : Fix
parameter names for docs.
Sat Dec 22 22:35:29 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_realize)
gtk/gtkplug.c (gtk_plug_realize): Include GDK_KEY_RELEASE_MASK.
* gtk/gtkentry.c (gtk_entry_key_release)
gtk/gtktextview.c (gtk_text_view_key_release_event): Pass
key release events to the input method.
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
Handle release of Control/Shift to end hex sequence.
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_filter_keypress): Handle key releases as well as presses.
Tue Dec 18 16:07:28 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeys.h (struct _GdkKeymapClass): Fix
prototype for direction_changed. (Reported by
Jeff Franks.)
Sat Dec 8 16:12:10 2001 Christopher Blizzard <blizzard@redhat.com>
* gdk/gdk.c (gdk_init_check): Fallback to setting the prgname to
"<unknown>" if someone doesn't pass in a valid argc. (Patch from
Fabrice Bellet <fabrice@gnu.org>, #54127).
2001-12-07 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkcursor-x11.c (gdk_cursor_new): fix up my list of
"cursors that are actually useful" in gdk_cursor_new() docs
Tue Dec 4 12:06:13 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcolorsel.c: Ref and sink priv->tooltips in
init() and unref priv->tooltips in destroy rather
than calling gtk_object_destroy() which has no
effect on memory management. (#66104, HideToshi
Tajima)
* gtk/gtkcolorsel.c (palette_set_color): Use g_object_set_data_full()
so we free the when the object is freed. (Fixes memory
leak, #66096, HideToshi Tajima)
* gdk/gdkevents.c (gdk_synthesize_window_state): Use
a full GdkEvent structure to avoid reads of uninitialized/
invalid memory in gdk_event_put() (#65877, patch
from Hidetoshi Tajima)
Fri Nov 30 16:12:21 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpango.c: Patch from Hidetoshi Tajima to fix
bad match error when target drawable is not the
same depth as the root window. (#65841)
* HACKING: Update.
Wed Nov 28 19:34:15 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (gdk_property_change, gdk_property_get):
Convert atoms to and from atoms for properties of type XA_ATOM.
(#65555, patch from Hidetoshi Tajima)
* gdk/gdkcursor.h: Directly include the contents
of gdkcursors.h in the GdkCursorType enum.
* gdk/gdkcursors.h: Deleted.
* gdk/gdkkeysyms.h: Remove XFree86-specific keysyms, add
header boilerplate.
* gdk/Makefile.am: Remove the X-derived-headers rule.
* gdk/tmpl/cursors.sgml: Document GdkCursor and standard cursors.
Sun Nov 25 21:19:02 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c: Add long, but horribly sketchy
comment about what is going on in this file.
* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix
x/y problem.
Sun Nov 25 23:18:39 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtktexttag.c (gtk_text_tag_set_property): free font_desc
when finished (#65266)
Sun Nov 25 23:16:29 2001 Kristian Rietveld <kristian@planet.nl>
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): free
data after we set the property. (#65264)
Sun Nov 25 23:14:06 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkbutton.c: add destroy method so label_text gets freed
if it has been allocated (#65268)
Fri Nov 23 19:22:50 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c: Handle events in windows other
than widget->event_window properly. (#65079, reported
by Damon Chaplin)
* gdk/gdkevents.c (gdk_event_get_coords): Fix x/y bug.
2001-11-23 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkfont-win32.c (gdk_font_from_description) :
reflect Pango API change
* gtk/gtk.def : updated externals
* gtk/gtkfixed.c (gtk_fixed_get_has_window) : use
g_return_val_if_fail() to avoid 'function must return a value'
* gtk/gtkrc.c : added spaces to fix small coding style issues
* gtk/gtkwidget.c : ... and linebreaks. Also a static for
'static correctness'
* gtk/makefile.msc.in : temporary(?) disable gtk<plug|socket>
because they only can be build on win32 after applying my patch
Mon Nov 19 13:56:45 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_focus): Use
RevertToParent, not RevertToNone. (#64613,
Matthias Clasen)
Mon Nov 19 11:30:03 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkproperty-x11.c (get_atom_name): Fix a
memory leak when retrieving atom names. (Michael Meeks,
#64508)
2001-11-18 Hans Breuer <hans@breuer.org>
* gtk/gdkaccelmap.c : make it compile with msvc: !HAVE_UNISTD_H;
no label without op, even if it's a no-op.
* gtk/gtk.def :
* gtk/makefile.msc.in : reflect marshaler split, some clean-up
* config.h.win32.in : remove definition of HAVE_DIRENT_H
* gtk/gtkfilesel.c : due to GDir (new in glib) DIR isn't
required anymore, replace it.
* gtk/queryimmodules.c : DIR -> GDir replacement, also
getcwd() -> g_get_current_dir()
* gdk/win32/gdkgeometry-win32.c : adapt to refactored gdkgeometry-x11.c
Even 'noisy laugh' scolling appears to work, though I still can't
claim to have fully understood what it is supposed to do ...
Sat Nov 17 21:07:46 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkenums.h: Include glib-object.h instead of
gobject/gsignal.h
* gdk/{gdkinternals.h,gdkwindow.c,gdkwindow.[ch],
x11,{fb,win32,x11/gdkwindow-*.c}: Add a dummy GdkScreen
argument to the window_at_pointer() field of
GdkPointerHooks. (Patch from Erwann Chenede)
* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Up
to 6 pointers.
Thu Nov 15 14:19:34 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Cal
gdk_window_invalidate_maybe_recurse() for recursion.
(Soeren Sandmann)
2001-11-10 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkevents-win32.c (gdk_event_translate) : make sure
we know what we are talking about when asked for MINMAXINFO.
Also some cleaning for !HAVE_DIMM_H etc.
2001-10-28 Hans Breuer <hans@breuer.org>
* gtk/gtkfontsel.c : use g_strcasecmp(), some poor platforms
don't have strcasecmp()
* gtk/gtktextview.c : to fix crashing on e.g. TextView::find need
to remove the idle funcs in gtk_text_view_destroy (). To reduce
code duplication wrap it in its own function and use it in
gtk_text_view_unrealize () and gtk_text_view_destroy_layout ()
* gdk/win32/gdkdrawable-win32.c : implement the finalize
method like the X11 version does, allow to set_colormap NULL
* gdk/win32/gdkwindow-win32.c : adapt GdkWindowImplWin32::
set_colormap, also some adaption to X11 version :
(gdk_window_hide) call _gdk_window_clear_update_area
(gdk_window_reparent) call _gdk_window_init_position
* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints) :
call gdk_window_resize() after all hints are set, because the
window resizing process (WM_GETMINMAXINFO) takes all of them into
account
* gdk/win32/gdkfont-win32.c : make gdk_font_equal return a gboolean
* gdk/win32/gdkvisual-win32.c : register GdkVisual with
sizeof (GdkVisualPrivate)
* gdk/gdk.def gtk/gtk.def : upated externals
* gdk/makefile.msc gdk/win32/makefile.msc gdk-pixbuf/makefile.msc
gdk-pixbuf/pixops/makefile.msc gtk/makefile.msc.in tests/makefile.msc :
from now on use make.msc from $(TOP)/glib/build/win32
* gtk/stock-icons/makefile.msc : add stock_missing_image
2001-11-08 Tor Lillqvist <tml@iki.fi>
* README.win32: Add headers. Add section about ActiveIMM.
* configure.in: Add --with-ie55 flag to specify the location of
the "IE55 libs and headers" package downloadable from Microsoft,
which contains, among other things, the Active IMM header dimm.h
and UUID library uuid.lib. Use test -f instead of AC_CHECK_FILE.
Require GLib 1.3.10.
* config.h.win32.in: New version, produced by merging two
configure-generated ones (for gcc and MSVC). Hopefully #defines
the same flags that the previous, hand-written one, did.
* gdk/Makefile.am
* gdk/win32/Makefile.am: Handle the uuid library from the IE55 lib.
* gdk/win32/gdkevents-win32.c: Conditionalize ActiveIMM
stuff. Remove unused GdkIOClosure.
* gdk/win32/surrogate-dimm.h: Remove, use real dimm.h instead (if
available).
* gdk/win32/libie55uuid.la: New file, handwritten libtool wrapper
for uuid.lib. (Does it really have to be this hard to use an
existing library with libtool? Probably I am missing something.)
Mon Nov 5 12:46:44 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkgc-x11.c
gdk/x11/gdkpixmap-x11.c gdk/x11/gdkprivate-x11.h
gdk/x11/gdkwindow-x11.c: Redo Xft support to go
directly to Picture objects instead of using XftDraw.
This fixes the problem where we weren't able to
properly destroy XftDraw objects before destroying
the accompanying windows, and probably improves
efficiency a bit too. (#50214)
Mon Nov 5 10:01:49 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position):
Clamp max window width/height to 32767, not 32768 since
we have to be able to deal with a dx/y of -32768 without
getting a width of 65536 when guffaw scrolling.
* gdk/x11/gdkgeometry-x11.c: Implement gdk_window_scroll()
for the guffaw scrolling case, fixing some problems with
copy-area case as well. Fix BadValue bug with moving windows
by large amounts.
* gdk/x11/gdkgeometry-x11.c (gdk_window_clip_changed): Update
clip in window structue before calling gdk_window_invalidate_region
since that trims new invalidations to the window's visible
region.
* gdk/x11/gdkwindow-x11.c (gdk_window_set_static_gravities):
Really set the static window gravity on the children, not
repeatedly on the window.
* gtk/testgtk.c: Add a torture test for big windows and
gdk_window_scroll().
Sun Nov 4 19:16:23 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkcolor.c (gdk_color_parse): Implement gdk_color_parse()
in terms of pango_color_parse().
* gdk/{linux-fb,win32,x11}/gdkcolor-*.c: Remove port-specific
gdk_color_parse() implementations.
Sun Nov 4 16:02:08 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.[ch]: Add a function gdk_window_invalidate_maybe_recurse()
for use in "shallow invalidation" of a widget. (Windows belonging
to the widget, but not to the widget's children)
* gtk/gtkprivate.h gtk/gtkwidget.c gtk/gtksizegroup.c: Add private
flags GTK_ALLOC_NEEDED, GTK_REQUEST_NEEDED. These flags are set
up on ancestors up to the resize container on queue_resize. Size
requests only actually take place if GTK_REQUEST_NEEDED, size
allocations only take place if GTK_ALLOC_NEEDED or the size
changed.
* gtk/gtkcontainer.c gtk/gtkwidget.c: Remove
container->resize_widgets and the RESIZE_NEEDED flag since the
above flags are sufficient to figure out what needs to be
resized/reallocated. Remove code manipulating
container->resize_widget.
* gtk/gtkwidget.[ch]: Add gtk_widget_set_redraw_on_alloc(); this
allows widgets to turn off being automatically invalidated is when
they are resized.
* gtk/gtkwidget.[ch] (gtk_widget_size_allocate): Invalidation when
a widget is resized or moved is "shallow" as described above -
only the windows that need to be invalidated are invalidated.
* gtk/gtkbox.c gtk/gtktable.c gtk/gtkalignment.c docs/Changes-2.0.txt:
Make these widget's init functions call
gtk_widget_set_redraw_on_allocate(widget,FALSE).
* gtk/gtkwindow.c (gtk_window_configure_event): Call
_gtk_container_queue_resize(), since we don't want
redrawing. (Probably could be done for other
calls to gtk_widget_queue_resize() in gtkwindow.c,
but this is the most important one.)
* gtk/gtkwindow.c (gtk_window_move_resize): Don't call
gtk_widget_queue_draw() - size_allocate() handles
that as appropriate.
* gtk/gtkframe.c (gtk_frame_size_allocate): Invalidate instead
of queue_clear() to avoid invalidating children.
2001-10-31 jacob berkman <jacob@ximian.com>
* gdk/gdkselection.h (GDK_TARGET_STRING):
(GDK_SELECTION_TYPE_STRING): these should be 31, not 3. Hooray
for Xatoms (and not using the XA_* macros)!
2001-10-29 jacob berkman <jacob@ximian.com>
* gdk/Makefile.am (LDFLAGS):
* gtk/Makefile.am (LDFLAGS): automake doesn't support conditionalized
LDFLAGS, so put win32 flags in here
2001-10-29 Tor Lillqvist <tml@iki.fi>
* README.win32: Updates.
* gtk-zip.sh.in: New file, used to build distribution package for
Windows.
* gdk/gdkglobals.c: Mark gdk_threads_mutex for DLL export when
applicable with GDKVAR.
* gtk/gtk.def: Update.
* gtk/gtkfilesel.c: Include <winsock.h> (if available) for
gethostname().
* gtk/gtkmain.c
* gtk/gtkrc.c: (Win32) Save actual DLL name for later use in DLL
entry function. Avoid hardcoded paths GTK_LIBDIR, GTK_SYSCONFDIR,
GTK_DATA_PREFIX and GTK_LOCALEDIR, instead add functions that call
g_win32_get_package_installation_subdirectory() with the actual
DLL name saved above. Redefine above directory name macros to call
these functions. Remove some ifdefs.
* gtk/maketypes.awk: Output GTKTYPEBUILTINS_VAR (that marks
variable for export on Win32) also to the _vars file.
Changes for autoconfiscated build on Win32, and addition of Win32
backend to the related files:
* configure.in: Like in GLib, set LT_CURRENT_MINUS_AGE for use
when forming DLL name in some files. Set MS_LIB_AVAILABLE is
lib.exe is available. Call AC_LIBTOOL_WIN32_DLL. Set
PLATFORM_WIN32, OS_WIN32 and USE_WIN32 automake conditionals. Add
win32 target, using pangowin32. Don't use the
-export-symbols-regex option on Win32, we use .def files to list
exported symbols. Check <winsock.h> (for gethostname() in
gtkfilesel.c). Enclose nested AC_CHECK_* macros in brackets to
prevent premature m4 expansion.
* acconfig.h: Add HAVE_WINTAB.
* gdk/Makefile.am: Add libgdk-win32-1.3.la target and associated
macros and rules. Use -no-undefined on Win32. Use gdk.def file. If
MS_LIB_AVAILABLE, build MS import library. Install the import
libraries. If HAVE_WINTAB, link with the Wintab library.
* gtk/Makefile.am: Add libgtk-win32-1.3.la target and associated
macros and rules. Use -no-undefined on Win32. Use gtk-win32.def
file. Install import libraries.
2001-10-29 Tor Lillqvist <tml@iki.fi>
* gdk/win32/libwntab32x.la: New file, hand-written wrapper for the
Wintab library.
* gdk/win32/gdkwin32.h
* gdk/win32/gdkprivate-win32.h: Reorganise to match corresponding
X11 headers better, and to enable gdkwin32.h to be installed and
included from applications, but not the *-win32.h headers.
* gdk/win32/*.c: Corresponding small changes, simplifications of
#includes.
* gdk/win32/gdkregion-win32.c: Remove.
* gdk/win32/gdkevents-win32.c (print_event): Add GDK_SETTING.
* gdk/win32/gdkfont-win32.c
* gdk/win32/gdkgeometry-win32.c: Remove unused variables.
* gdk/win32/gdkproperty-win32.c (gdk_atom_intern): Don't insert
GDK_NONE values into hash table.
Changes for autoconfiscated build on Win32, and addition of Win32
backend to the related files:
* gdk/win32/Makefile.am: Actually enable building the win32
objects here, not just list all files in EXTRA_DIST. Link in the
compiled resource file from rc/gdk-win32res.lo. If HAVE_WINTAB,
copy the Wintab library into the .libs directory.
* gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Don't assume the
name of the GDK DLL when fetching the icon. Use the HMODULE saved
in gdk_dll_hinstance by DllMain.
* gdk/win32/rc/Makefile.am: Build gdk-win32res.lo using the
build/win32/lt-compile-resource script.
* gdk/win32/rc/gdk.rc.in
* gtk/gtk-win32.rc.in: Use the DLL name that libtool would use.
2001-10-28 Hans Breuer <hans@breuer.org>
* gdk/gdk.c gdk/gdkevents.c
gdk/win32/gdkcolor-win32.c gdk/win32/gdkdnd-win32.c
gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c
gdk/win32/gdkfont-win32.c gdk/win32/gdkgc-win32.c
gdk/win32/gdkim-win32.c gdk/win32/gdkmain-win32.c
gdk/win32/gdkprivate-win32.h gdk/win32/gdkproperty-win32.c
gdk/win32/gdkselection-win32.c gdk/win32/gdkwin32.h
gdk/win32/gdkwindow-win32.c gdk/win32/gdkwindow-win32.h :
static correct-ness, underscore prefixing of library internal
functions
(applied the undisputed and the win32 part. Of the latter
I'm probably the one who will change it back again, if Owen
decides that the Gdk*Impl types should not be private to Gdk)
* gdk/gdk.def : added the remaining exported functions
* gdk/x11/gdkinput.c: Typo fix.
* gdk/tmpl/input_devices.sgml: Updates.
* gtk/tmpl/gtkrc.sgml: Document the special values <none> and
<parent> for bg_pixmap.
2001-10-27 Anders Carlsson <andersca@gnu.org>
* gdk/x11/gdkmain-x11.c: Replace int and guint with
long and gulong in some places to make the code 64-bit
clean.
(_gdk_windowing_init_check): Replace gint with gulong.
This patch was made by George Lebl and fixes bug #62113.
2001-10-26 Hans Breuer <hans@breuer.org>
* gdk-pixbuf/gdk_pixbuf.def :
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gdk/win32/gdkpixmap-win32.c : removed duplicate of
gdk_window_lookup implementation. It already was in
gdk/win32/gdkwindow-win32.c
* gdk/win32/gdkproperty-win32.c : made it compile again
after GdkAtom API change
* gtk/gtk/makefile.msc.in : updated
2001-10-24 Alex Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkfont-fb.c:
Update to new Pango APIs
* gdk/linux-fb/gdkproperty-fb.c:
Update to new GdkAtom APIs
* gdk/linux-fb/gdkwindow-fb.c:
Remove warnings
Tue Oct 23 17:31:42 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c gdk/win32/gdkwindow-win32.c: Always
set window->parent (except or the root window itself); if
the window's parent is not a GdkWindow, or is a window of
type GDK_WINDOW_FOREIGN, set window->parent to the root parent.
* gdk/gdkwindow.c (gdk_window_get_toplevels): Don't include
windows of type GDK_WINDOW_FOREIGN.
Tue Oct 23 11:53:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (INCLUDES): Remove G_DISABLE_CONST_RETURNS.
* gtk/gtkfontsel.[ch]: Make gtk_font_selection_get_font()
G_CONST_RETURN. (Murray Cumming)
* gtk/gtkfontsel.c (gtk_font_selection_dialog_get_preview_text):
Make G_CONST_RETURN.
* gtk/gtkfilesel.c (open_user_dir): Fix bug with freeing
results of g_get_home_dir().
* gtk/gtkfilesel.c: Make filesel->fileop_file a duplicated
copy. Storing the return from gtk_entry_get_text() is evil.
* gtk/gtkcombo.c gtk/gtkcellrenderertext.c gtk/gtkbindings.c
gtk/gtkfilesel.c gtk/gtkfontsel.c gtk/gtkimmodule.c
gtk/gtkobject.c gtk/gtkoldeditable.c gtk/gtktreedatalist.c
gtk/gtksignal.c: Add const.
* gdk/x11/gdkkeys-x11.c (get_direction): Add missing const.
* gtk/gtktreeview.c: Namespace object data keys to be safe, even
if we are setting them on private widgets.
* gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
Duplicate entry->text before setting it as object data.
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
Mon Oct 22 10:12:08 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.c docs/Changes-2.0.txt (gdk_threads_init): Don't call
g_thread_init(), we don't want to link to -lgthread if we don't
have to.
Mon Oct 22 08:51:02 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.[ch] (gdk_threads_init) docs/Changes-2.0.txt:
Add a function, gdk_threads_init() that must be explicitely
called to enable the GDK thread mutex.
Sun Oct 21 23:27:00 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_translate_coordinates): Fix
problem with g_return_if_fail return value.
* gdk/x11/gdkproperty-x11.c docs/Changes-2.0.txt: Move over the
virtual atom code from the gdk-multihead branch, removing the per-display
part. Virtualizing atoms needs to be done now to prevent compat
breakage in direct Xlib accessing code in the future. (#62208)
* gdk/x11/gdkx.h: gdk/gdk/x11/gdkproperty-x11.c: Export
gdk_x11_xatom_to_atom, gdk_x11_atom_to_xatom().
* gdk/gdktypes.h docs/Changes-2.0.txt: Make GdkAtom
an opaque pointer type so the compiler catches attempts
to mingle it with X atoms.
* gdk/x11/{gdkdnd-x11.c,gdkevents-x11.c,gdkglobals-x11.c,
gdkkeys-x11.c, gdkmain-x11.c, gdkprivate-x11.c,
gdkproperty-x11.c, gdkselection-x11.c, gdkwindow-x11.c}
gtk/{gtkclist.c,gtkctree.c,gtkdnd.c,gtkplug.c,gtksocket.c}
tests/testdnd.c,tests/testselection.c:
Fix up for above atom changes.
* gdk/gdkselection.h (GDK_SELECTION_CLIPBOARD): Add, since we
now have the ability to add custom predefines.
* gtk/{gtkentry.c,gtklabel.c,gtkoldeditable.c,gtktextview.c}:
Use GDK_SELECTION_CLIPBOARD instead of GDK_NONE in calls
to gtk_clipboard_get().
* gdk/win32/gdkproperty-win32.c: Add CLIPBOARD, fix up
for GdkAtom => pointer change.
* gdk/linux-fb/gdkproperty-fb.c: Fix handling of predefined
atoms, fix for GdkAtom => pointer change.
Fri Oct 19 12:24:32 2001 Owen Taylor <otaylor@redhat.com>
* gdk/linux-fb/gdkfont-fb.c: Fix up for change to
Pango font API. #61933. (Untested, even for compilation.)
Tue Oct 16 17:04:44 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c: Rename ACTIVATE_MNEMONIC enum to
MNEMONIC_ACTIVATE; signal was changed a long time
ago.
* gdk/x11/gdkim-x11.c (_gdk_x11_initialize_locale):
Fix wrong return statement. (Reported by HideToshi
Tajima and others.)
* gtk/gtklabel.h (struct _GtkLabelClass): Remove
left over select_all vfunc.
Wed Oct 10 12:48:38 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c (gtk_init_check): Call setlocale (LC_ALL, "").
(#60606)
* gtk/gtkmain.c (gtk_disable_setlocale): Add function
to disable calling setlocale (LC_ALL, "").
* gtk/gtkmain.c (gtk_set_locale): Indicate in the
docs that this function is not typically useful.
* gdk/x11/{gdkim-x11.c,gdkmain-x11.c,gdkprivate-x11.h}:
Automatically initialize GDK for the current locale
on gdk_init(). Don't reset locale to C when
XSupportsLocale() fails.
* gdk/linux-fb/gdkim-fb.c (gdk_set_locale): Remove
useless checks for UTF-8 locale breakage that mattered
only for X.
* examples/calendar/calendar.c
tests/{testgtk.c,testtext.c,testcalendar.c}: Remove calls to
gtk_set_locale().
* gtk/gtkiconfactory.c gtk/gtkitemfactory.c:
gdk_pixbuf_new_from_stream => gdk_pixbuf_new_from_inline.
2001-10-02 Havoc Pennington <hp@redhat.com>
Throughout: assorted docs
* gdk/gdkwindow.h: deprecate gdk_window_set_hints(), it's broken,
gdk_window_set_geometry_hints() should be used instead.
* gdk/gdkimage.h: deprecate gdk_image_ref, gdk_image_unref, and
document them
* gdk/x11/gdkx.h: remove gdk_get_client_window() since it doesn't
seem to exist in any .c files
* gdk/x11/gdkcolor-x11.c (gdk_colormap_query_color): docs,
g_return_if_fail (pixel < colormap->size).
Mon Sep 24 12:48:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.h: Add a compat macro that got lost.
* gtk/gtktreestore.c: Doc fixes.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix reference
leak for windows that receive events after being destroyed.
(#60863, Joshua N. Pritikin)
* gtk/gtktable.c (gtk_table_remove): Use gtk_widget_queue_resize
rather than gtk_container_queue_resize().
* gtk/{gtkcontainer.c,gtkwidget.c,gtkwindow.c}: _gtk prefix
gtk_container_queue_resize, gtk_container_queue_resize_widgets,
gtk_container_child_composite_name. (#60217.)
2001-09-21 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkmain.h : define get_gtk_win32_directoty ()
* gtk/gtkmain.c (find_module) : don't use module_name after freeing it.
Also handle that Win32 pathes cann't be hard-coded
* gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various
module, themes etc directory calculations
* gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates
>16 bit right. The size limit within Win9x appears _not_ to be 32767
but slightly smaller ...
* gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid
>16 bit clipping. Added dummy body for gdk_window_set_icon_list ()
* gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle ()
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup
* gdk/win32/gdkwin32.h : reflect recent API restrictions
Wed Sep 19 17:59:27 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set
_NET_WM_PID and WM_CLIENT_MACHINE properties on each
window, not just on the client leader. (#58463)
Wed Sep 19 16:12:16 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixbuf-render.c: Allow -1 for width/height
to mean "width/height of pixbuf" (Patch from Matthias Clasen,
#59723)
Tue Sep 18 20:47:16 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Fix
incorrect parameter to compute_double_length
(#58680, patch from Matthias Clasen)
Fixes for compilation with Forte cc. (#59734, Derek Rafter)
* gtk/gtkwindow.h gtk/gtksizegroup.h: Remove extra ;.
* gdk/gdktypes.h (GdkModifierType): Write 1u << 31
for GDK_RELEASE_MASK to avoid warnings with Forte.
* gtk/gtktexttag.c gtk/gtkcellrendertext.c: Add some missing
break; statements.
2001-09-18 Matt Wilson <msw@redhat.com>
* docs/Makefile.am (EXTRA_DIST): don't use += before =
* docs/faq/Makefile.am (EXTRA_DIST): likewise
* docs/tutorial/Makefile.am (EXTRA_DIST): likewise
* gdk/Makefile.am (MAINTAINERCLEANFILES): likewise
(EXTRA_HEADERS): likewise
* gtk/Makefile.am (MAINTAINERCLEANFILES): likewise
(EXTRA_HEADERS): likewise
(EXTRA_DIST): likewise
(CLEANFILES): likewise
* gtk/stock-icons/Makefile.am (CLEANFILES): likewise
* tests/Makefile.am (EXTRA_DIST): likewise
* Makefile.am (install-data-local): changed to use
install-data-hook, which runs after install-pkgconfigDATA, so that
the pkgconfigdir will have been created and populated first.
gdk-pixbuf/ChangeLog
2001-09-17 Matt Wilson <msw@redhat.com>
* Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
LDFLAGS definition, use the -avoid-version one.
(libpixbufloader_tga_la_LDFLAGS): likewise
Sat Sep 8 16:19:02 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c: Implement a search path for GTK+ modules.
* configure.in gtk/gtkrc.c gtk/Makefile.am: Look for modules
in gtk-2.0/<type>/major.minor.(micro-binary_age) rather
than in gtk-2.0/major.minor.micro/<type>/. This
works better for a search path for modules.
* gtk+-2.0.pc.in gtk+-2.0-uninstalled.pc.in: Add
gtk_binary_version variable holding major.minor.(micro-binary_age).
* modules/input/Makefile.am (moduledir): Fix installation
directory to match change in lookup location.
* gtk/gtkmain.c (gtk_init_check): Remove OS/2 code for dll
suffixes. Needs to be handled in g_module_build_path().
* gtk/gtkrc.c gtk/queryimmodules.c: Use g_build_filename() where
appropriate.
2001-09-10 Alex Larsson <alexl@redhat.com>
* demos/gtk-demo/stock_browser.c:
* gdk/gdkcolor.c:
* gdk/gdkcursor.c:
* gdk/gdkevents.c:
* gdk/gdkrectangle.c:
* gtk/gtktypeutils.c:
Update to use the new g_boxed_type_register_static API.
Sat Sep 8 01:49:22 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check): Prevent a
false alarm constness warning with a cast.
* gdk/x11/gdkx.h: Undefine GDK_ROOT_PARENT before redefining it
for the inside-gdk case.
2001-09-07 Alex Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkcolor-fb.c:
Removed unused function.
* gdk/linux-fb/gdkdrawable-fb2.c
* gdk/linux-fb/gdkfont-fb.c:
Use PangoLanguage functions.
* gdk/linux-fb/gdkinput.c:
* gdk/linux-fb/gdkselection-fb.c:
Fix const warnings.
* gdk/linux-fb/gdkwindow-fb.c:
Fix warning. Implement gdk_window_set_icon_list() and
gdk_window_get_frame_extents(). (No icon support yet though.)
* gtk/gtkwindow.c (gtk_window_get_position):
If window->frame is set get the extents of it instead.
Fri Sep 7 18:17:47 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm,
make gdk_set_use_xshm a noop. Remove --no-xshm command line
option. If we aren't autodetecting properly, we need
to fix the problem, or at least make it an environment
variable setting, to avoid problems with propagating
to embedded children, plugins, etc.
* gdk/gdkcolor.h: Deprecate gdk_colormap_get_system_size().
* gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h
(gdk_pixbuf_render_pixmap_and_mask_for_colormap):
New function to render a pixmap and mask for a particular colormap.
* gtk/gtkwindow.c (get_pixmap_and_mask): Change to use
gdk_pixbuf_render_pixmap_and_mask_for_colormap () instead
of internal implementation of the same.
Fri Sep 7 11:51:44 2001 Owen Taylor <otaylor@redhat.com>
Make gdkx.h the only installed header from gdk/x11.
All structures in gdk/x11 are opaque.
* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
Don't install gdk{drawable,pixmap,window}-x11.h.
* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
GdkVisualClass into C files.
* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.
* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
Add public functions to replace previously exported direct
structure access.
gdk_x11_colormap_get_{xdisplay,xcolormap}
gdk_x11_cursor_get_{xdisplay,xcursor},
gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
gdk_x11_gc_get_{xdisplay,ximage}
* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.
Fix a number of variables and functions that were exported
"accidentally" from GDK.
* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
gdk_input_exit, gdk_windowing_exit, gdk_event_func, gdk_event_data,
gdk_event_notify, gdk_queued_events, gdk_queued_tail,
gdk_event_new, gdk_events_queue, gdk_events_unqueue,
gdk_event_queue_find_first, gdk_event_queue_remove_link,
gdk_event_queue_append, gdk_event_button_generate,
gdk_debug_flags, gdk_default_filters, gdk_parent_root.
* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
gdk_use_xshm, gdk_input_ignore_core.
* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
#defines to namespace functions into the private _gdk_
namespace.
* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
to replace gdk_parent_root exported variable. Adjust and
deprecate GDK_ROOT_PARENT().
* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
GDK_ROOT_PARENT usage, remove includes of port-specific
headers.
* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
gdk_input_devices, _gdk_input_windows, gdk_init_input_core.
* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
docs/Changes-2.0.txt: Remove gdk_wm_protocols,
gdk_wm_delete_window functions, gdk_wm_take_focus,
use gdk_atom_intern() instead.
* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
gtk/gtkselection.c
Unexport gdk_selection_property, just use
gdk_atom_intern ("GDK_SELECTION").
* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
GdkVisualprivate, gdk_x11_gc_flush.
Make a number of public exports of variables into functions
to increase encapsulation.
* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
move to gdkinternals.h. Add gdk_device_get_core_pointer ().
* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
gdk_error_warnings.
* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
docs/Changes-2.0.txt:
s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
Add gdk_x11_get_default_xdisplay().
* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
Don't export gdk_progclass, move --class command line
option and handling to common portion of GDK.
Miscellaneous fixes:
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
g_return_val_if_fail that should have been g_return_if_fail.
* gdk/gdkinternals.h gdk/gdkprivate.h: Move
gdk_synthesize_window_state() to the semi-public gdkprivate.h.
* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
X11 dependency.
* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
Remove unused gdk_key_repeat_disable/restore.
* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
Remove unused gdk_null_window_warnings variable.
* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
it can be retrieved from the repository; it is too far
from functional to be worth having people check out;
it would be easier to start from scratch, I suspect.
* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().
* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
Fix some accidentally global variables and unused global variables.
* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
Fix some accidentally global variables and unused global variables.
Add some space for future expansion to multihead.
* gdk/gdkdrawable.h: Add four reserved function pointers
for future expansion of GdkDrawableClass.
* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
where we can put a GdkScreen * later.
Sun Sep 2 21:41:21 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkkeys-x11.c (update_keymaps): Set current serial
so that we don't eternally update the keymap after we
get a change notification.
* gtk/gtkmenuitem.c (gtk_menu_item_set_right_justified): Fix
incorrect cast.
2001-08-28 Havoc Pennington <hp@pobox.com>
* demos/gtk-demo/main.c (setup_default_icon): add default icon
* gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic):
warning fix
(gtk_radio_button_new_with_label): warning fix
* gtk/gtkdnd.c: used some random GtkImage private structs,
update to reflect GtkImage changes
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): don't check
whether the hint is supported, just always set the icon. A task
list might want to use it even if the WM doesn't, and the WM may
change over time. Also, XDeleteProperty() if list == NULL.
* gtk/gtkwindow.c (gtk_window_set_icon_list)
(gtk_window_get_icon_list)
(gtk_window_set_icon)
(gtk_window_get_icon)
(gtk_window_set_default_icon_list)
(gtk_window_get_default_icon_list):
new functions
* gtk/gtk-boxed.defs (GtkIconSet): add GtkIconSet
* gtk/gtkimage.c: Implement property support, bug #59408
* gtk/gtkcontainer.c (gtk_container_add): make the warning message
on reparent-without-removing-first a bit more helpful.
Let's just destroy this FAQ.
2001-08-24 Havoc Pennington <hp@pobox.com>
* gtk/gtkcompat.h: remove gtk_menu_* compat defines;
these are already in gtkmenu.h, and the copies
here were broken.
Also, change GTK_DISABLE_COMPAT_H to GTK_DISABLE_DEPRECATED
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_image):
special-case bitmaps to allow no colormap
(bitmap1): implement no-colormap bitmap-getting
(bitmap1a): implement no-colormap bitmap-getting to pixbuf with
alpha
(rgb8): indentation
(rgb1a, rgb1): change the way we read the data out of the image,
old way didn't seem to work quite right.
I'm pretty sure a lot of the rgbconvert code is still broken.
* gtk/gtkwindow.c (gtk_window_move_resize): move hints comparison
above position constraint (I really intended to do this before,
don't know what's up with that)
(gtk_XParseGeometry): shut up gcc
* gdk/gdkpixbuf-drawable.c (rgb1a): fix bug where "x1" was used
and "0" should have been. remove the attempted 4-bytes-at-once
optimization, it was totally broken.
Wed Aug 22 19:15:39 2001 Owen Taylor <otaylor@redhat.com>
[ Patch from Sebastian Wilhelmi, 52790 ]
* gtk/gtkversion.h.in gtk/gtk.h: New file replacing gtkcompat.h
* gdk/gdkcompat.h gdk/gdk*.h gtk/gtkcompat.h.in gtk/gtk*.h:
Move compatibility macros from g[dt]kcompat.h to within
#ifndef G[DT]K_DISABLE_DEPRECATED in each file.
* gdk/gdk-pixbuf-csource.c: Fix up include of gtkcompat.h.
* demos/Makefile.am demos/gtk-demo/Makefile.am
docs/reference/gdk-pixbuf/Makefile.am modules/input/Makefile.am
tests/Makefile.am: Remove references to -G[DT]K_DISABLE_DEPRECATED.
* demos/{pixbuf-demo.c,testpixbuf-drawable.c,testpixbuf-save.c,
testpixbuf.c}: Fix usages of deprecated functions.
2001-08-18 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated externals
* gdk/win32/gdkselection-win32.c : returning TRUE with gdk_selection_set
is required to get (at least) visible in entry fields. Some selections
are really handled now - even on win32 - but copying via middle
mouse button into a different app needs to wait ...
* gdk/win32/gdkdnd-win32.c : implemented inter-app drag&drop
mostly by stealling code from gdkdnd-fb.c. Thanks to who ever wrote it!
* gdk/win32/gdkevents-win32.c : some tweaking to get better expose
handling. I'm not sure if it is better now, but at least not worse
* gdk/win32/gdkgeometry-win32.c : replaced every call to MoveWindow
with SetWindowPos () which allows more fine-tuning backing-store wise
* gdk/win32/gdkwindow-win32.c : allow unraised gdk_window_show ().
Also changed move/resize to be more like the X version.
* gtk/gtk.def : updated externals
2001-08-07 Havoc Pennington <hp@pobox.com>
* gtk/gtkfilesel.c (open_ref_dir): fix a typo.
* gtk/gtkplug.c (gtk_plug_init): remove setting of auto_shrink;
some fixage is needed here, but nothing simple. Owen understands
it. ;-)
* gtk/gtkwindow.h, gtk/gtkwindow.c: Rework code and API for window
sizing and positioning. Also, fix bug in compute_geometry_hints
(width/height confusion for setting min size).
(gtk_window_move): new function
(gtk_window_resize): new function
(gtk_window_get_size): new function
(gtk_window_get_position): new function
(gtk_window_parse_geometry): new function
* gtk/gtkwidget.c (gtk_widget_set_size_request): new function
(gtk_widget_get_size_request): new function
(gtk_widget_get_usize): delete, that was a short-lived function
;-)
(gtk_widget_set_usize): deprecate
(gtk_widget_set_uposition): deprecate, make it a trivial
gtk_window_move() wrapper
(gtk_widget_class_init): remove x/y/width/height properties,
add width_request height_request
* demos/*: update to avoid deprecated functions
* gtk/gtklayout.c: add x/y child properties
* gtk/gtkfixed.c: add x/y child properties, and get rid of
uses of "gint16"
* tests/testgtk.c (create_window_sizing): lots of tweaks to window
sizing test
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ensure that
configure events on toplevel windows are always in root window
coordinates, following ICCCM spec that all synthetic events
are in root window coords already, while real events are
in parent window coords. Previously the code assumed that
coords of 0,0 were parent window coords, which was
really broken.
* gtk/gtkcontainer.c (gtk_container_get_focus_chain): fix
warning
* gdk/gdkwindow.h (GdkWindowHints): add GDK_HINT_USER_POS
and GDK_HINT_USER_SIZE so we can set USSize and USPosition
hints in gtk_window_parse_geometry()
* gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): support
new USER_POS USER_SIZE hints
* gtk/gtkclipboard.c (request_text_received_func): ask apps for
COMPOUND_TEXT instead of TEXT
* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): correctly
interpret the return value of g_string_to_compound_text()
(#55152)
2001-08-06 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): The whole
GDK_IS_WINDOW() branch of this was a bit screwed up, because
it was expecting a GdkWindow, not a GdkWindowImplX11.
Also, we were getting the window rect in screen coords
and the screen rect in window coords then intersecting
them; instead, get window rect in window coords.
Finally, there were codepaths that resulted in a stuck server grab
(when the window was fully onscreen, or on gdk_image_new()
failure); make the server ungrab thing a bit more
robust/consistent.
2001-08-06 Sven Neumann <sven@gimp.org>
* gdk/gdkpango.c (gdk_pango_context_destroy):
check if info->colormap != NULL before unref'ing it. It might have
been set to NULL using gdk_pango_context_set_colormap().
2001-08-04 Alexander Larsson <alexl@redhat.com>
* gdk/win32/gdkinput.c:
Add #ifdef HAVE_WINTAB around wintab.h include.
* gtk/gtk.def:
Removed marshals that have been moved to glib.
Commented out plug and socket. They didn't compile for me
on win32.
2001-08-04 Hans Breuer <hans@breuer.org>
* gtk/stocks-icons/makefile.msc : new file
* gtk/makefile.msc.in : use it
* gtk/gtkstyle.c : not all platforms do provide M_PI and
friends, but luckily there is G_PI
* gtk/gtk.def : updated
* gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP
windows WS_POPUP, but only those without a parent. This fixes the
mis-alignment between the selectable (temp, input only) window and
the window text of GtkLabel.
(gdk_window_show) : respect private->state when actually showing
the window.
(gdk_window_set_transient_for) : Implementation from Wolfgang
Sourdeau <wolfgang@contre.com> ported to 2.0 and added some
error handling. Should fix#50586.
* gdk/win32/gdkevents-win32.c : beautify log output
* gdk/gdkprivate.h:
* gdk/x11/gdkx.h:
Put all mentions of GdkFont inside #ifndef GDK_DISABLE_DEPRECATED.
* demos/gtk-demo/menus.c: (do_menus): Cast to G_OBJECT, not
GTK_OBJECT.
2001-07-29 Hans Breuer <hans@breuer.org>
* gdk/makefile.msc : build in the backend dir after
auto-generating files
* gdk/win32/gdkfont-win32.c (gdk_font_load) : reimplement
with code from win32-production-branch.
* gdk/win32/gdkwindow-win32.c : set the private->destroyed flag
before calling DestroyWindow, which indirectly calls
gdk_window_destroy_notify ()
(performance patch merged from win32-production-branch)
* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_segments):
Use PatBlt() instead of LineTo() when possible (solid single-pixel pen,
R2_COPYPEN rop). It is claimed to be much faster.
2001-07-26 Alex Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
Initialize image->bits_per_pixel from the drawable, not from
the root window.
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_get_depth):
Fix cast. argument is an IMPL already.
* gdk/gdkdraw.c: Added a check on the colormap depth to
gdk_drawable_set_colormap()
* gdk/x11/gdkimage-x11.c: combination of Mathias Hasselmann's
patch to fix colorsel and my patch to fix gdk_drawable_get_image()
for pixmaps without visuals (more specifically, bitmaps)
* gdk/x11/gdkpixmap-x11.c: Fixed gdk_pixmap_new() so it
doesn't set a colormap with the wrong depth
2001-07-20 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkinput-win32.c : gdk_device_get_history moved to
gdk/gdkinput.c like the other backends
* gdk/win32/gdkinput-win32.h :
* gdk/win32/gdkinput.c :
* gdk/win32/gdkvisual-win32.c :
* gdk/win32/gdkwin32.h : mechanical adaption to GdkDevice and
GdkVisual GObjectification. UNTESTED for pen-devices because
I simply have none.
* gdk/gdk.def :
* gtk/gtk.def : updated externals
* gtk/gtkiconfactory.c :
* gtk/gtkoldeditable.c : GError *error needs to be initialized (= NULL)
before passing &error to functions to avoid strange crashes
* gtk/gtkcontainer.c (gtk_container_real_set_focus_child) : is static
* gtk/gtkwidget.c (gtk_widget_get_child_visible): use g_return_val_if_fail
* gtk/makefile.msc.in : updated
* gtk/gtkiconfactory.c: (gtk_icon_size_register): Reorder code so
that we don't get a g_warning message every time we register a new
icon size.
* gdk/x11/gdkcolor-x11.c: (gdk_colormap_alloc1): Fix warning by
using pixel variable of the correct type.
Fri Jul 13 15:33:32 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.[ch]: Add a function gdk_window_get_internal_paint_info(),
so that using X functions on a GdkWindow is possible, if
a little hairy.
* gdk/gdkgc.c (gdk_gc_offset): Add a function to offset the clip
and ts_origin of a GC, so that external parties can offset/restore
a GC, when using gdk_window_get_internal_paint_info().
Thu Jul 12 13:53:28 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Properly
clean up when handling events for move-resize emulation.
(Problem traced down by Matthias Clasen, #57271)
* gtk/gtkwidget.c (gtk_widget_class_init):
G_SIGNAL_TYPE_STATIC_SCOPE GtkSelectionData to
restore some workingness.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Fix
handle of window type for input-only windows.
Mon Jul 2 01:09:37 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c
gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk:
Add gdk_set_pointer_hooks() to allow pointer-querying to
be hooked by an event record/playback system like GERD.
(#56914)
Wed Jul 4 22:35:40 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
gtk/gtkwidget.c:
Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
not GTK_WIDGET_GET_ANCESTOR ... see
http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
Indicate the best practice in the docs for gtk_widget_get_toplevel().
* gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
so GtkPlug can give the correct signals when transforming
from a child to a toplevel.
* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
reparentation correctly.
* gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
Propagate the previous_toplevel argument down properly.
* gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
of wrong atr list.
* gtk/gtkplug.[ch]: Add an "embedded" signal.
* gtk/gtksocket.[ch]: Add "child_added", "child_removed"
signals.
* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add
functions gtk_plug_get_id(), gtk_socket_get_id(),
to avoid the user having to worry about realization,
and gdkx.h.
* tests/testsocket.c: Extend to try out the new signals
and gtk_plug/socket_get_id().
* gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
setting of underline attributes.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
DestroyNotify events from SubstructureNotifyMask
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
Switch GDK_WINDOW_TYPE (window) as needed.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
allow creation of toplevel windows as children of
foreign windows.
* gtk/gtkplug.c: Remove hacks involving changing private
fields of GdkWindow.
* gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make
exactly the same signals and notification
be emitted for local embedding as for inter-process
embedding.
Mon Jul 2 16:53:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
XEMBED embedding add a _XEMBED_INFO property to the
client with version number and a "mapped" flags.
Use the mapped flag instead of the racy MapRequestEvent
* gtk/gtksocket.c: Clean up the gtk_socket_steal()
code to reliably set things (when the child is a passive
embedder participating in the XEMBED protocol) intead
of just being a hack for embedding non-participating
programs. Fix various bugs and race conditions.
* gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
work by simply making the GtkSocket the gtk parent
of the GtkPlug. Set a flag in this case and make
the GtkPlug work like a normal container by overriding
methods such as check_resize and "chaining past" GtkWindow
to GtkBin.
* gtk/gtkentry.c (gtk_entry_real_activate)
gtk/gtkmain.c (gtk_propagate_event):
Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).
* gtk/gtkwidget.c (gtk_widget_get_toplevel,
gtk_widget_get_ancestor):
Explain why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
might not give the expected result and recommend
an alternative.
* tests/testsocket.c tests/testsocket_child.c
tests/testsocket_common.c tests/Makefile.am: Extended
to test different type of adding plugs to sockets
(local,active,passive), and to test mapping/unmapping
the plug.
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
mark the window as destroyed until after we
called _gdk_windowing_window_destroy().
(_gdk_windowing_window_destroy() may use GDK functions
on the window.)
* gdk/x11/gdkinput.c: Remove the check for finalization -
devices can be finalized under some circumnstances.
* gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix
small problem with GDK_TYPE_DEVICE.
Tue Jun 26 19:39:03 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
for style to mean "revert to default style"
* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
gtk_widget_restore_default_style): Make this functions
deprecated aliases for gtk_widget_set_style (widget, NULL).
* gtk/gtkwidget.[ch]: Remove:
gtk_widget_set_default_style ()
gtk_widget_push_style ()
gtk_widget_pop_style ()
These functions interact are overriden by RC files, and
thus virtually useless, and complicated.
Fri Jun 22 18:49:48 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c: Add a GtkRcContext structure to hold
most of the previous global variables in gtkrc.c. This is
in preparation for multi-head, since each screen can
have different GtkSettings and RC information.
* gtk/gtkrc.[ch]:
* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
GtkSettings parameter to GtkRcStyle::parse.
* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
Add two new settings gtk-theme-name, gtk-key-theme-name,
for RC files that are loaded by name after reading
the default RC files.
* gtk/gtkrc.c: Allow priorities for styles, as wll as
bindings.
* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
and use it by default for RC files loaded via
gtk-theme-name, gtk-key-theme-name.
* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
tests/testgtkrc: Require pathnames to be absolute.
* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
the source when parsing, since the operation of looking up a
pixmap from an RC file depends on the parsing context.
* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
reset RC styles on all widgets when files are reparsed.
* tests/testgtk.c (create_rc_file)
gtk/gtkwindow.c (gtk_window_read_rcfiles):
Simplify, now that gtk_rc_reparse_all() resets styles on
all widgets itself.
* gtk/gtkmain.c (gtk_get_default_language): Fix broken
return value.
* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
GtkSettings argument.
* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
gtk_settings_get_global().
* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
to get the appropriate GtkSettings for a widget. (For now,
just gets the default GtkSetttings.)
* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
changes.
* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
getting a style for a path without actually having a widget.
(Allows using a style for a subpart of a widget, for
example.)
* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
the RC files to be reloaded for just one GtkSettings
(not sure how useful this really is.)
* gtk/gtkrc.h: Deprecate
gtk_rc_add_widget_name/widget_class/class_style
2001-06-30 Alex Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkinput-none.c:
* gdk/linux-fb/gdkinput.c:
* gdk/linux-fb/gdkinputprivate.h:
Convert GdkDevice to a GObject.
* linux-fb/gdkprivate-fb.h:
* linux-fb/gdkvisual-fb.c:
Convert GdkVisual to a GObject.
2001-06-28 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
image data to the screen, using a server grab to avoid race
conditions.
* gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove
check for NULL return from gtk_image_new_from_stock(), it never
returns NULL.
(gtk_item_factory_create_item): fix bug where we parsed the stock
ID as an inline pixbuf
* gtk/gtktext.c (gtk_text_key_press): numeric keypad support
* gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
support (should be using binding set here)
* gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
support (should be using binding set here)
* gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad
support
* gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support
* gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad
* gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad
* gtk/gtkimcontextsimple.c
(gtk_im_context_simple_filter_keypress): keypad
* gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad
* gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes
* gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support
* gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
should be binding-setted)
* gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes
* gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes
* gtk/gtkcalendar.c: numeric keypad fixes
* gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
support
* gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
screwup
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
clip the render area to the drawable's clip region in advance,
so we don't get data from the server that we don't need.
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
check return value of gdk_pixbuf_get_from_drawable(), fall back
to bilevel alpha if we can't get the pixbuf to composite against.
* gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap
* gdk/gdkimage.c (gdk_image_get_colormap): add
gdk_image_set_colormap, gdk_image_get_colormap
* gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
take a region of the image, instead of converting the entire
image.
* gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
keybinding signal. Add default bindings for it. Add default
handler for show_help that shows the tooltip for the widget.
* gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
"close" keybinding signal, remove key press handler.
* gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
it's not our usual practice to leave a deprecated function around
with a runtime warning, plus we don't want it to appear in docs,
plus if we make them yellow no one will want to change them
anyhow.
Thu Jun 28 23:53:31 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
GTK_WIDGET_REALIZE() for resize queueing.
* gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
GTK_WIDGET_REALIZE() for post event delivery destruction upon
GDK_DESTROY.
* gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
sompensate for former (pre-2.0) connect_after() facility.
(gtk_widget_send_expose):
(gtk_widget_event): assert the widget is realized, since event delivery
to non-realized widgets is essentially a bug. event handlers should
be able to unconditionally rely on widget->window (unless they
emit events on their own which can trigger widget destruction).
(gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
logic. event delivery happens as follows:
a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
b) if !was_handled in (a) and the widget is still realized, emit event-
specific signal (RUN_LAST handler). returns was_handled.
c) emission of GtkWidget::event-after for notification if the widget is
still realized (regardless of was_handled from previous stages, no
class handler). no return value.
d) was_handled gets passed on to caller, to determine further
propagation. if the widget got unrealized meanwhile, was_handled
is returned as TRUE.
* gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and
gdk_event_get_coords().
2001-06-29 James Henstridge <james@daa.com.au>
The following changes correspond to bug #56812
* gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
code for GdkDevice.
* gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for
GdkCursor.
2001-06-19 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
for mapping a window without fooling with stacking order, but
updating the "withdrawn" flag
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
filtering as soon as possible, moving move resize and wmspec_check
handling after the event filter. Make default filter apply to all
events, not just those with no GdkWindow wrapped around the X
window. Fix a FIXME about how the window could be a pixmap using
RTTI; this of course assumes GDK_IS_WINDOW() is optimized.
Also, be robust against events not on a known GdkWindow.
* gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
gdk_x11_ungrab_server): export reference-counted server grabs, so
other people can grab server over a GDK function that also does
so.
2001-06-25 Alexander Larsson <alexl@redhat.com>
* configure.in:
Added --enable-fbmanager. This is some experimental code
that lets several GtkFB apps coordinate their access to the
framebuffer.
* acconfig.h:
Added ENABLE_FB_MANAGER.
* gdk/linux-fb/Makefile.am:
Added gdkfbmanager and gdkfbswitch.
* gdk/linux-fb/gdkkeyboard-fb.c:
* gdk/linux-fb/gdkmouse-fb.c:
* gdk/linux-fb/gdkprivate-fb.h:
Split device init and open so that
they can be opened and closed while switched
away.
* gdk/linux-fb/gdkmain-fb.c:
Add the basic manager communication.
* gdk/linux-fb/gdkrender-fb.c:
Don't update to the shadow fb if we're
blocked by the fb manager.
Sun Jun 24 11:29:35 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
introduced last night that was making things decidedly not work.
* gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
so that we have getter/setter pairing everywhere it makes
sense. (#55767)
* gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
deprecated compat macro. (#55516)
* gtk/gtklabel.[ch]: Add functions
gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
gtk_label_set_label(), which mirror the property API for GtkLabel.
Make gtk_label_get_attributes() only reflect the attributes
set by gtk_label_set_attributes.
* gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
from gtk_notebook_set_page().
Sat Jun 23 18:02:46 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix tests for XShm.h.
* gdk/x11/gdkimage-x11.c: Cleanup error handling in
gdk_image_new() by use of goto, properly use g_object_unref().
Sat Jun 23 22:03:20 2001 Tim Janik <timj@gtk.org>
* gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
calls, as GdkImage is an object. these should be g_obejct_unref()
instead but that won't work because of the g_error() statement
in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
to spot these places.
2001-06-22 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated externals
* gdk/win32/gdkdrawable-win32.c : corrected some casts
in GDK_NOTEs
* gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
to translate coordinates to the internal > 16 bit system
Try to handle WM_WINDOWPOSCHANGED to get better performance for
when moving/resizing
* gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
and gdk_keymap_get_direction (). The latter is untested for
the RTL case
* gtk/gtk.def : updated externals
* gtk/gtkmain.c : gtk_get_default_language () should reurn the result
from pango_language_from_string (), not an already freed pointer
* gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be
binary (-kb) to be useable on windoze
Fri Jun 8 17:56:52 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
that allows grouping together multiple windows so that grabs
within that set of windows only affect those windows.
* gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
signal for notification when a widget becomes shadowed
by a grab or is no longer shadowed by a grab.
* gtk/gtkwidget.c (gtk_widget_propagate_state)
gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
insenstive widgets to maintain a grab.
Mon Jun 11 18:15:16 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.
* gtk/gtk[hv]scale.c: Include math.h, stdlib.h
* gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
to recent changes in Pango.
* tests/testgtk.c: Set language tags with gtk_label_set_markup()
to test whether the basic engine honors them.
2001-06-14 Alexander Larsson <alexl@redhat.com>
* docs/README.linux-fb:
Add some example config files that can be used with the URW fonts.
* gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
Set up the color ramps for DirectColor mode.
2001-06-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkwindow-fb.c:
Unify shaped window code and make it repaint the area that used
to be part of the shape, but isn't anymore.
2001-06-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
passes zero instead, so do we.
2001-06-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
Deep copy dash_list too.
(_gdk_fb_gc_new): Set default cap_style before
setting values.
Fri Jun 8 12:03:07 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkkeys.[ch]: Add a direction-changed signal,
and gdk_keymap_get_current_direction().
* gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
the current locked group, use it to set the keymap
direction.
* gtk/gtksettings.c: Add a new gtk-split-cursor setting
to determine whether we draw a split cursor or use
a jumping cursor based on the current direction.
* gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
Obey the split cursor setting.
Fri Jun 8 11:57:50 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimmulticontext.c (activate_cb): Only activate
when toggling on, not when toggling off... (#55906)
Wed Jun 6 10:37:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_double_buffered):
s/gdk_window_begin_paint/gdk_window_begin_paint_region/
in docs. (#55812, Vitaly Tishkov)
Wed Jun 6 10:34:42 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.h: Include gtkwidget.h
(#55798, Karl Nelson)
* gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
a valid latin-1 character. (Marc Lehmann, #35467)
* gdk/x11/gdkwindow-x11.c: Fix minor typo in comment.
(Marc Lehmann, #35467)
Tue Jun 5 11:04:06 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS):
s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
Mon Jun 4 12:50:11 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
gtk_clist_thaw().
2001-06-04 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
and 7 for scroll left/right, from Thomas Broyer
2001-05-10 Havoc Pennington <hp@redhat.com>
* gtk/gtksettings.c (gtk_settings_get_property): Handle case where
we need to parse the xsetting as if it were an RC file string.
* gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
value of palette from settings, not from static variable
* gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
xsettings translation table
* gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because
hardcoding the toolbar style conflicts with new customizable
toolbar style philosophy
(gtk_toolbar_class_init): add settings for default toolbar style;
these are used unless the app specifically forces a toolbar style
* gtk/gtksettings.c (settings_install_property_parser): only
return at the start if we warn and parser == NULL
* gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
palette changed handler so we don't notify dead color selections
* gtk/gtkstyle.c (gtk_default_draw_shadow): handle
xthickness/ythickness of 0 or 1 properly
(gtk_default_draw_resize_grip): clear the background behind the
resize grips, and align to bottom right if we square the
area to be drawn.
* gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on
statusbar label to 1, so it doesn't make toplevels resize oddly
(gtk_statusbar_size_request): add grip size to request
(gtk_statusbar_size_allocate): hack so the hbox still works with
the grip size in the request
* gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix
bug where showing all on a toplevel makes the toolbar
button text appear despite the toolbar mode
* gtk/gtkmenubar.c: add internal padding style property
* gtk/gtktoolbar.c: Add internal padding style property; add
shadow type style property
* gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
state; and put Container::border_width outside the frame
* gtk/gtktextview.c: don't draw focus rectangle if we're in
interior focus mode, we just use blinking cursor
Fri Jun 1 11:31:55 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrectangle.c (gdk_rectangle_get_type): Add
GDK_TYPE_RECTANGLE.
* gtk/gtkwidget.c (gtk_widget_class_init): Fix type
of allocation argument be GDK_TYPE_RECTANGLE.
Wed May 30 15:56:30 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c (gtk_settings_get_property): Validate
value from GDK settings against parameter spec.
* gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
to temporary values and use g_value_transform(), since
thinking that GValue was going to be easy or efficient
to use was, of course, a mistake.
* gtk/gtksettings.c: Add cursor blink setting.
* gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
* gtk/gtkentry.c: Add cursor blinking.
* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
cursor blink global settings.
* gtk/gtkentry.c (gtk_entry_button_press): Add notification
for :text_position in places where it is missing.
Tue May 29 17:40:29 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
not pkg-config. (#51032)
* gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
(fixes#51952, James Henstridge)
2001-05-25 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
work -> check boxes and radio buttons are drawn now, even on win9x.
Improved line settings a bit, still no clue how to get really dotted
lines on win9x, on NT it's PS_ALTERNATE.
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
GDK_HINT_MIN_SIZE as well
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
* gtk/gtk.def : updated
* gtk/gtktreeprivate.h : change column_drop_func to be a function
pointer not a function pointer pointer
* tests/testdnd.c : include <stdlib.h> for putenv prototype
* tests/testsocket.c : made it compile on win32 again
* tests/makefile.msc : one more test-app uses prop-editor.obj
Sun May 20 13:59:20 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Start checks for X from pangox/pangoxft
CFLAGS to avoid duplicate libraries.
* gdk/Makefile.am (LDFLAGS): Remove extra -lm.
* configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
to include gobject.
Sun May 13 12:01:12 2001 Owen Taylor <otaylor@redhat.com>
* autogen.sh (have_automake): Require libtool-1.4,
automake-1.4p1.
* acinclude.m4: Remove libtool macros.
* gdk-pixbuf/Makefile.am: Add dependencies to loade
modules.
* gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
for libgdk.
* gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
libgdk.la for libgtk.
* modules/input/Makefile.am: Make modules have full
dependencies.
Sun May 13 18:40:04 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixmap.h: Remove creative formatting.
Thu May 10 19:22:28 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktogglebutton.c: Patch from John Margaglione converting to
property API. (#51669)
* gtk/gtkscale.c: Patch from John Margaglione converting to
property API. (#51891)
* gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
to property API. (#50985)
2001-05-10 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkprivate-fb.h:
Make sure you can compile out the implementation/wrapper assert
macros.
* gdk/linux-fb/gdkdrawable-fb2.c:
Check implementation/wrappers, initialize type for pixmap dummys.
* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
Hide the cursor if reading from the screen.
* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
Fix sign bug in tiling code.
* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
Handle background pixmaps.
2001-05-07 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
New function for getting toplevel window at position.
(gdk_drag_find_window): Use get_toplevel_window () instead
of gdk_window_get_pointer(). (gdk_drag_status): Use
correct context for getting window.
* gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
g_strdup the atom name.
* gdk/linux-fb/gdkwindow-fb.c:
Costmetic fix.
* gtk/gtkdnd.c (gtk_drag_source_handle_event):
Add code for changing cursor on linux-fb backend (same as
win32).
2001-01-06 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated exports
* gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
gdk won't compile anymore
* gdk/win32/gdkevents-win32.c : initialize ret_val when
processing GDK_FILTER functions, initialize event.key->hardware_keycode.
Improved gdk_flush () to not only do pending drawing operations
but also process all currently pending events. This should make
the behaviour more similar to the X11 version.
* gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
option needs to be set even if there is no GDK_GC_BACKGROUND.
(gdk_win32_hdc_get) : use predraw_set_background () independent
of value_mask. This allows to draw dashed lines leaving the original
background intact.
* gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
after processing, because we can't reuse it as the X11 version does.
* gtk/gtk.def : updated exports
* gtk/makefile.msc.in : added ATK, removed all test apps. (I
would like to get rid of this file again, and use straight
makefile.msc again, as the other Gtk+ subdirs do)
* test/makefile.msc (new file) : build the test apps here
Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
* INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
dependency on Atk for accessibility support.
* configure.in **/Makefile.am: Major reworking of substituted
variables for CFLAGS/LIBS to make a lot more sane and
keep the the compile/link lines a bit shorter.
* gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
Wed May 2 17:26:22 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
trap errors around calls to XSetInputFocus since we have
no way of knowing reliably whether we are viewable or
not. (#53947)
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line):
(gtk_text_layout_move_iter_to_next_line): fix these two for
invisible text, lots of other stuff still hosed.
* gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
new function, replaces the get/set palette stuff. This function
is intended for use by libgnomeui which should set the hook to a
thing which sets the palette in GConf, and we need the
GConf-to-xsettings proxy which will result in the change being
propagated back to the GTK app.
* gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning
about unusable signals that it may be because the signal has
parameters.
* gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
style, otherwise gtkrc.c won't know to create a new GtkStyle for
it.
(gtk_widget_modify_color_component): call
gtk_widget_modify_style() so the rc style will get copied.
(gtk_widget_modify_font): ditto
* gtk/gtkrc.c: make a couple variables static
* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
help button by default, since it does nothing
* gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
around with UI
* gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
so we can have tooltips
* gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
can have tooltips
* gdk/gdkimage.h: mark gdk_image_new_bitmap with
GDK_ENABLE_BROKEN, because its memory behavior is completely
hosed.
* gtk/gtknotebook.c: remove key press handler, replace with
binding set, add numeric keypad support
* gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
* gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
* gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
addition to plain Delete
* gtk/gtktextview.c (gtk_text_view_key_press_event): accept
GDK_KP_Enter in addition to GDK_Return
* gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
activate on entry instead of key press
(gtk_font_selection_on_clist_key_press): get
rid of this signal handler, not needed with new font sel.
* gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
no-longer-needed emit_stop_by_name(), just return TRUE
* gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
cruft, this widget is no longer focusable.
* gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
move_slider action signal, add binding set for vscale/hscale, in
the process support numeric keypad
* gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings;
make GDK_Return and GDK_KP_Enter activate the entry via
binding set, instead of hardcoded.
2001-04-27 Havoc Pennington <hp@redhat.com>
* gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
* gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
* gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
line/para separators
(gtk_entry_create_layout): set single paragraph mode on the layout
* gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
spacing between the image and label; instead, inside a button box
the button will get extra space that will go there, but if people
configure button box for 0 chubbiness, then there's no spacing.
* gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
and min/max size style properties, so people can tune their
chubbiness.
* tests/testgtk.c (make_toolbar): remove calls to removed toolbar
functions
* gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
space_style, and button_relief into style properties, remove
functions for setting them
* gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop
it back down
* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
types from gtk_widget_style_get
* gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
with a style property.
* gdk/x11/gdkevents-x11.c: namespace the settings
* gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
* gtk/gtksettings.c (gtk_settings_class_init): remove code with
side effects from inside g_assert(), so that G_DISABLE_ASSERT can
be used. Also, translate doc strings for settings. Also, namespace
the double-click-time property. Also, remove bell properties crap.
Thu Apr 26 19:11:46 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
dragging code. Revealed some (potential) GdkWindow bugs.
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
_gdk_window_init_position to the end of reparent to fix the case
of reparenting when new_x != old_x and new_y != old_y.
Wed Apr 25 12:16:36 2001 Owen Taylor <otaylor@redhat.com>
* gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for
window == NULL in a number of cases.
* tests/testdnd.c: Set module path for gdk-pixbuf.
Wed Apr 18 14:23:14 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
mode on shm segments to 0600. We'll see who complains.
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
_gdk_windowing_window_destroy() AFTER recursing through
children.
* tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
testsocket_child on X.
* tests/testsocket[_child].c: Fix uses of
gtk_window_get_default_accel_group().
[ Merge patch from Ramiro Estrugo <ramiro@eazel.com> from gtk-1-2 ]
* gdk/gdkimage.c: (gdk_image_get):
Deal with the possibility that XGetImage() might return NULL.
Allocate the GdkImagePrivate structure only after XGetImage()
succeeds in order not to dereference a NULL ximage pointer. This
prevents a core dump when XGetImage() fails - which is unlikely,
but can happen due to race conditions accessing the geometries of
drawables. An x error will still be triggered, but the gdk image
wrapper at least wont seg fault.
Wed Apr 18 12:15:52 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h
gdk/x11/gdkevents-x11.c: Introduce an extra child
of toplevel windows that serves to hold the focus to
avoid events being delivered to embedded windows.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
some extra variables to clean up code and reduce the
number of casts.
* gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
guint for 1 bit bit fields, not gboolean.
2001-04-16 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : added all exports required to link PyGtk 0.7.1
* gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
we are interested in the functions return value not the function address
* gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
* gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Mon Apr 2 18:18:07 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.h: Add GdkEventSetting event for notification
of changes to system settings, gdk_setting_get() to retrieve
a single system setting.
* gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
to the draft XSETTINGS mechanism.
* gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
XSETTINGS.
* gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
of GDK settings changes to the GtkSettings object.
* gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
double-click-timeout property to GDK.
* gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
Define GDK boxed types here.
* gdk/Makefile.am gdk/makeenums.pl: Generate source files
gdk/gdkenumtypes.[ch] for enum definitions.
* gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
* gtk/gtk-boxed.defs: Comment out GDK types
* gtk/gtktypeutils.h: Remove GDK types
* gtk/Makefile.am: No longer scan GDK headers for enumerataions
2001-04-02 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
warnings that were spewed on startup.
* gtk/gtkwindow-decorate.c:
gtk_window_reposition -> _gtk_window_reposition
Sun Apr 1 23:41:37 2001 Tim Janik <timj@gtk.org>
* gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
_NET window managers.
* gtk/gtkmenufactory.[hc]: cvs removed those files now.
2001-03-31 Hans Breuer <hans@breuer.org>
* config.h.win32.in : disable USE_MMX for msvc build cause
the assembler doesn't fit and is out of my scope. Disable
USE_GMODULE for msvc build as wel. The right way to share
binaries on win32 would be to use libtiff.dll etc. To reduce
installation hassles IMO it's better to include all fileformats
builtin to gdk-pixbuf
* gdk-pixbuf/makefile.msc : new file
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't erase the background if
.no_bg is set. It improves the scrolling (e.g. of testgtk main
buttons
* gdk/win32/gdkgeometry-win32.c : added comment about the above
* gdk/win32/gdkwindow-win32.c : added three new functions like
the X version. Only one is implemented, because the other two
"gdk_window_begin_(resize|move)_drag" got no docs and appear to
be default behaviour on win32 anyway ...
* gtk/gtk.def : updated
* gtk/makefile.msc.in : update for new files, use glib-genmarshal
from where it was built and add an additional rule to automagically
build gtkmarshal.[hc]
* gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
before array access for the current entry isn't finished
* gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
use g_return_val_if_fail
* gtk/testgtk.c (window_controls) : don't use the *wrong* size
for the static array, but let the compiler calculate it. It
makes me wonder if gcc isn't capable to catch bugs like this ...