Ahem, take the rowstride into account!!! Fixes #82515.
2002-05-22 Federico Mena Quintero <federico@ximian.com>
* io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
account!!! Fixes #82515.
[This bug is not present in the GNOME 1.4 branch as its XPM loader
does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
no row padding and then uses gdk_pixbuf_new_from_data() on it.]
[IMPORTANT: The comment above is to make my life easier when
merging stuff across branches. If you make changes to gdk-pixbuf
in either branch, please include a comment in the ChangeLog that
indicates whether this should be merged into the other branch.
Thanks!]
Owen Taylor [Mon, 20 May 2002 17:06:41 +0000 (17:06 +0000)]
Set the private LEAVE_PENDING flag to fix problem where with menu items
Mon May 20 12:59:14 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.c: Set the private LEAVE_PENDING
flag to fix problem where with menu items with
submenus, tooltips were getting stuck. (Effectively
disables tooltips for menu items with submenus.)
(Bug #75961, Soeren Sandmann)
* tests/testgtk.c: Set a tooltip on a menu item
with a submenu.
Owen Taylor [Fri, 17 May 2002 19:27:53 +0000 (19:27 +0000)]
Protect against reentrancy problems by emitting ::preedit_changed at the
Fri May 17 14:40:24 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave):
Protect against reentrancy problems by emitting
::preedit_changed at the end, fixing input context
leak. (Yao Zhang)
* modules/input/gtkimcontextxim.c (status_window_free):
Patch from Federico Mena Quintero to fix problem where
references to IMContextXIM were kept around after
module was unloaded.
Owen Taylor [Thu, 16 May 2002 23:59:23 +0000 (23:59 +0000)]
Only optimize out the full configure handling if we got a gratuitous
Thu May 16 19:49:24 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_configure_event): Only
optimize out the full configure handling if we got
a gratuitous configure event(configure_request_count == 0)
and the size didn't change.
* gtk/gtkwindow.c (gtk_window_move_resize): Use
g_message(), not g_print() for debug spew.b
* gtk/gtkwindow.c (gtk_window_real_set_focus): Ref
the old and new focus widgets for the scope of
the function.
* gtk/gtksocket.c gtkplug.c: Remove various #if 0'd
bits of old code.
Owen Taylor [Thu, 16 May 2002 23:38:01 +0000 (23:38 +0000)]
Thu May 16 18:47:29 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkwindow.c (gtk_window_show): Disable the focus-some-widget code for GtkPlug descendants. * gtk/gtkplug.c (gtk_plug_focus_event): Eat focus-in/out events since they can be generated by keyboard grabs, but are spurious for an embeddded widget. (#79196, Padraig O'Briain) * gtk/gtksocket.c (gtk_socket_size_request): Only pay attention to the minimum size hints, and changes to that ... ignore the default size. * gtk/gtksocket.c (gtk_socket_send_configure_event): Pass in root-window relative coordinates as per the ICCCM. * gtk/gtksocket.c (gtk_socket_size_allocate): Send as many synthetic configures as necessary to make up for ConfigureRequest events we got. (#78799, Dave Camp.)
Thu May 16 23:59:56 2002 Kristian Rietveld <kris@gtk.org>
Merged from gtk-2-0.
* gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed): set the prev
of the next node correctly, so we don't corrupt the list and cause
bad things. (fixes #71374)
Owen Taylor [Thu, 16 May 2002 16:54:03 +0000 (16:54 +0000)]
gdk_event_put() copies the event and setting name, so we don't have to
Thu May 16 12:50:13 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_xsettings_notify_cb):
gdk_event_put() copies the event and setting name,
so we don't have to strdup() it here. (Fix from
Michael Meeks, #81953)
Ettore Perazzoli [Thu, 16 May 2002 14:00:45 +0000 (14:00 +0000)]
If the menu is scrolled down or up, and some of the widget area is empty,
* gtk/gtkmenu.c (gtk_menu_paint): If the menu is scrolled down or
up, and some of the widget area is empty, don't fill it in with
GTK_SHADOW_IN rectangles that make it looks strange. Fixes
#72695.
Owen Taylor [Wed, 15 May 2002 22:27:42 +0000 (22:27 +0000)]
Don't call gdk_pointer_grab() to change the cursor if we've already
Wed May 15 18:15:45 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Don't
call gdk_pointer_grab() to change the cursor if we've
already ungrabbed on button release / escape.
(#80420, Dave Camp)
Owen Taylor [Tue, 14 May 2002 23:57:40 +0000 (23:57 +0000)]
Subsitute in @PERL@ instead of hardcoded /usr/bin/perl. (#78355, Gareth
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/geninclude.pl.in configure.in:
Subsitute in @PERL@ instead of hardcoded
/usr/bin/perl. (#78355, Gareth Pearce. Fix based
on patch from Matthias Clasen)
* gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
instead of makeenums.pl.
* gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
get gdkenumtypes.h built first.
Owen Taylor [Tue, 14 May 2002 22:44:51 +0000 (22:44 +0000)]
Remove the result file on error. (#79929, David Highley)
Tue May 14 18:41:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h):
Remove the result file on error. (#79929, David
Highley)
* gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu):
If the menu is currently active, cancel it before
setting the new menu. (#79162, Jonathan Blandford.)
Owen Taylor [Tue, 14 May 2002 21:36:32 +0000 (21:36 +0000)]
Fix format of selection data to be 8 rather than GTK_TYPE_POINTER.
Tue May 14 17:30:57 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkctree.c gtk/gtkclist.c: Fix format of
selection data to be 8 rather than GTK_TYPE_POINTER.
(#79751, James Henstridge)
* gtk/gtkmenu.c (gtk_menu_key_press): Call
gtk_accelerator_valid() with cleaned up
accel_key/accel_mods, not the raw values from
the event. (#80513, Havoc Pennington.)
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Remove
some dead code that set the tearoff window not
resizable and removed decorations. (#80235)
Owen Taylor [Tue, 14 May 2002 20:55:22 +0000 (20:55 +0000)]
Set the width of the layout to the actual wrap width (our requisition) not
Tue May 14 16:44:09 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c (gtk_label_ensure_layout): Set
the width of the layout to the actual wrap width
(our requisition) not the width we set when calculating
the width. This results in the lines being justified
within the correct area. (#79157, Anders Carlsson)
* gtk/gtkaccelgroup.c gtk/gtkmarshelers.list: Corrected
registered parameter types of "accel_activate" and
"accel_changed" signals. (Patch from Murray Cumming, #78798)
* gtk/gtkrc.c (gtk_rc_make_default_dir): Switch
binary-version and type to correspond to the
current ordering in _gtk_get_module_path.
(#78746, Sergey Kuzminov)
* gtk/gtkrc.c (gtk_rc_get_module_dir): Add docs
pointing to the GTK_PATH documentation.
* gtk/Makefile.am (uninstall-local): Delete
key themes as well. (#81286, Kristian Rietveld.)
Owen Taylor [Tue, 14 May 2002 19:45:08 +0000 (19:45 +0000)]
Add a sanity g_return_if_fail() check for the depths for the window and
Tue May 14 15:40:49 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-{linux-fb,win32,x11.c} (gdk_window_set_back_pixmap): Add a sanity g_return_if_fail() check for the depths
for the window and pixmap. (#79191, Shivaram Upadhyayula)
Matthias Clasen [Mon, 13 May 2002 22:35:42 +0000 (22:35 +0000)]
Change parameter names to match the header file and the documentation.
* gtk/gtkcontainer.c (gtk_container_class_install_child_property):
(gtk_container_class_find_child_property):
(gtk_container_class_list_child_properties):
* gtk/gtkwidget.c (gtk_widget_class_find_style_property):
(gtk_widget_class_list_style_properties): Change parameter names
to match the header file and the documentation.
Daniel Elstner [Fri, 10 May 2002 21:59:20 +0000 (21:59 +0000)]
[ merge from stable ]
2002-05-10 Daniel Elstner <daniel.elstner@gmx.net>
[ merge from stable ]
* gtk/gtktreemodel.c: #define INITIALIZE_TREE_ITER(), which zeroes out all GtkTreeIter fields. (#81380)
(gtk_tree_model_get_iter): Use it.
(gtk_tree_model_iter_children): ditto
(gtk_tree_model_iter_nth_child): ditto
(gtk_tree_model_iter_parent): ditto
Wed May 8 16:14:49 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktreeview.c
(gtk_tree_view_init): set_redraw_on_allocate (FALSE);
(gtk_tree_view_size_allocate): invalidate last column if width
changed.
(gtk_tree_view_bin_expose): skip over cells that aren't in
event->region
added a new conditional CROSS_COMPILING which indicates ($build != $host).
2002-05-07 Michael Natterer <mitch@gimp.org>
* configure.in: added a new conditional CROSS_COMPILING which
indicates ($build != $host). If it is set, look for
gdk-pixbuf-csource in PATH. Error out if it was not found.
* gtk/stock-icons/Makefile.am: use the gdk-pixbuf-csource found at
configure time if CROSS_COMPILING is set, use the one which was
just built otherwise.
build the static pixbuf loaders conditionally like the dynamic ones so
2002-05-07 Michael Natterer <mitch@gimp.org>
* gdk-pixbuf/Makefile.am: build the static pixbuf loaders
conditionally like the dynamic ones so --without-lib<foo> is
honored when building with --disable-modules. (#66867)
* gtk/gtktreeview.c (gtk_tree_view_button_press): focus on a cell
if applicable,
(gtk_tree_view_bin_expose): set_cell_data before iterating columns,
add support for row-spanning focus rectangles,
(gtk_tree_view_has_special_cell): new function,
(gtk_tree_view_move_cursor_left_right): add support for multiple
focusable cells in one column,
(gtk_tree_view_set_cursor): call _set_cursor_on_cell now,
(gtk_tree_view_set_cursor_on_cell): copy of _set_cursor, extended
with focus_cell parameter,
(gtk_tree_view_search_iter): removed unused column variable,
(gtk_tree_view_start_editing): add neighbor size code to allow
for multiple editable cells in one column.
* gtk/gtktreeviewcolumn.c (_GtkTreeViewColumnCellInfo): add
in_editing_mode field,
(gtk_tree_view_column_get_edited_cell): new function, removed
_get_editable_cell,
(_gtk_tree_view_column_get_cell_at_pos): new function,
(gtk_tree_view_column_pack_end): s/g_new/g_new0/ ...,
(gtk_tree_view_column_cell_process_action): loads of changes to get
it right and to allow for multiple special cells, etc,
(gtk_tree_view_column_cell_first): new function,
(gtk_tree_view_column_cell_last): ditto,
(gtk_tree_view_column_cell_next): ditto,
(gtk_tree_view_column_cell_prev): ditto,
(gtk_tree_view_column_cell_focus): add left and right parameters,
allow for multiple special cells,
(gtk_tree_view_column_cell_is_visible): add assertion,
(gtk_tree_view_column_focus_cell): new function,
(gtk_tree_view_column_stop_editing): unset in_editing_mode flag,
(_gtk_tree_view_column_get_neighbor_sizes): iterate through cells
correctly
* gtk/gtktreeprivate.h: s/_get_editable_cell/_get_edited_cell/, add
_gtk_tree_view_column_get_cell_at_pos, add new parameters to
_gtk_tree_view_column_cell_focus.
* tests/testtreeedit.c: add some cells in order to test new code.
Soeren Sandmann [Sun, 5 May 2002 00:59:42 +0000 (00:59 +0000)]
image files for testing pixbuf loaders the old test-loaders.c split into
Sun May 5 02:22:59 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* tests/test-images/*: image files for testing pixbuf loaders
* tests/pixbuf-*.c: the old test-loaders.c split into four
different programs
* tests/Makefile.am: add new pixbuf tests
Sun May 5 02:27:01 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gdk/x11/gdkvisual-x11.c:
* gdk/x11/gdkwindow-x11.c:
* gdk/x11/gdkdisplay-x11.[hc] (gdk_open_display) :
Rationalized the screen initialization process,
changed the GdkDisplayX11 screen list to an array.
* gdk/x11/gdkscreen-x11.[hc] (_gdk_x11_screen_new) :
Moved the xinerama init functions to gdkdisplay-x11.c to
this file, create a single function to fully initialize
a GdkScreen. #79981
* gdk/gdkscreen.[hc] (gdk_screen_x11_get_monitor_at_window):
remove virtualization and made it cross platform. fix #79961
* gdk/x11/gdkdisplay-x11.c (check_solaris_xinerama):
fixed initialization bugs.
* gdk/x11/gdkscreen-x11.[hc] (gdk_screen_get_monitor_geometry):
* tests/testxinerama.c:
* gtk/gtkwindow.c (gtk_window_compute_configure_request):
* gtk/gtkmenu.c (gtk_menu_position):
take a GdkRectangle argument instead of returning
a GdkRectangle * and propagated the changes. fix #79974
Owen Taylor [Tue, 30 Apr 2002 23:44:14 +0000 (23:44 +0000)]
Make it work, even if the window is already realized or mapped.
Tue Apr 30 18:42:25 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_screen): Make it
work, even if the window is already realized or
mapped.
* tests/testgtk.c: Erwann's multihead changes, slightly
dumbed down. (Removed logic for pulling windows onto
the current screen, people can click twice on the demo
to destroy and create again.)
* tests/prop-editor.c: Set the screen on the property
editor if the edited object is a widget.
Owen Taylor [Tue, 30 Apr 2002 23:43:58 +0000 (23:43 +0000)]
Make it work, even if the window is already realized or mapped.
Tue Apr 30 18:42:25 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_screen): Make it
work, even if the window is already realized or
mapped.
* tests/testgtk.c: Erwann's multihead changes, slightly
dumbed down. (Removed logic for pulling windows onto
the current screen, people can click twice on the demo
to destroy and create again.)
* tests/prop-editor.c: Set the screen on the property
editor if the edited object is a widget.
use gtk_text_layout_invalidate_cache instead of cut-and-paste
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_real_free_line_data): use
gtk_text_layout_invalidate_cache instead of cut-and-paste
(gtk_text_layout_real_invalidate): always invalidate cache, even
if the line has no stored line data. #78573
Owen Taylor [Tue, 30 Apr 2002 20:17:36 +0000 (20:17 +0000)]
Multi-screen test case form multihead branch with a few cleanups. (Get rid
Tue Apr 30 15:59:53 2002 Owen Taylor <otaylor@redhat.com>
* tests/testmultiscreen.c: Multi-screen test case
form multihead branch with a few cleanups. (Get rid
of use of g_object_connect())
* tests/testmultidisplay.c: Multi-display test case
from multihead branch with a few improvements.
(Allow the other display name to be passed on
the command line, use a GtkDialog to get more attractive
spacing.)
half-finished docs on merging GTK with existing hunks of code (event loop
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/other_software.sgml: half-finished docs on merging GTK with
existing hunks of code (event loop integration, using threads
vs. processes, blah blah)
assign something to "prev" so that removing tag info succeeds. Part of
2002-04-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_remove_tag_info): assign
something to "prev" so that removing tag info succeeds.
Part of #77301
* gtk/gtktextbtree.c (_gtk_text_btree_unref): reorder so that it
unrefs the tag table first, so that the btree is in a consistent
state when we're removing tags from it.
* gtk/gtktexttagtable.c (_gtk_text_tag_table_remove_buffer): strip
all tags in the tag table out of the buffer. #77301