This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API
https://bugzilla.gnome.org/show_bug.cgi?id=610474
Rework the sort and filter models to store their reference to the parent
element as an array index instead of a pointer to an array element.
These pointers could become invalid with any array modification, whereas
indices do not.
Added checks to see whether the passed iterators are not the same in
convert_child_iter_to_iter() and iter_to_child_iter() functions in both
the sort and filter models.
Fixes bug 573321, suggestion by Vadim Godunko.
2008-05-28 Kristian Rietveld <kris@imendio.com>
Amendment of bug 485218 - Strange warning encountered.
* gtk/gtktreemodelsort.[ch]
(gtk_tree_model_sort_convert_child_iter_to_iter): return a boolean
indication whether or not the conversion had succeeded.
svn path=/trunk/; revision=20204
2007-03-10 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_ref_node),
(gtk_tree_model_sort_real_unref_node): when (un)reffing an
element, also (un)ref its parent elements. (Fixes#364946,
reported by many, testcase by Andreas Koehler).
svn path=/trunk/; revision=17457
2006-09-26 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed),
(gtk_tree_model_sort_sort_level): ref count nodes the proper way,
(gtk_tree_model_sort_ref_node), (gtk_tree_model_sort_real_unref_node),
(gtk_tree_model_sort_free_level): bring zero ref count loops in
sync,
(gtk_tree_model_sort_free_level): free child levels before
decreasing the zero ref count of the current level,
(gtk_tree_model_sort_clear_cache): only clear cache if zero_ref_count
is > 0.
2006-02-08 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_ref_path),
(gtk_tree_model_filter_unref_path): free temporary paths after
usage (patch from maemo-gtk),
(gtk_tree_model_filter_clear_cache): fix little typo in the docs
(patch from maemo-gtk).
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted): remove
stale FIXME.
2006-01-14 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_iter_children): fix
a typo which caused this whole thing to not function ...
2005-10-24 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
row-has-child-toggled when the level is not in the cache does not
make sense. (This bug probably crept in during the early stages
of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
implementation yet),
(gtk_tree_model_sort_real_unref_node): only get the child iter
when we will actually also use it.
2005-09-01 Matthias Clasen <mclasen@redhat.com>
* gdk/*.c: Intern some more strings.
* gtk/gtkintl.h:
* gtk/*.c: Define an I_() macro and use it instead of the
bulky g_intern_static_string().
2005-08-31 Matthias Clasen <mclasen@redhat.com>
* gdk/Makefile.am:
* gtk/Makefile.am: Intern type names in code generated by
glib-mkenums, too.
* gtk/*.c:
* gdk/x11/*.c:
* gdk/*.c: Intern type names before registering the type to avoid
unnecessary copies.
2005-08-23 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): don't
bother inserting new rows in a level with a zero refcount and
immediately free the level. (Fixes#312350, reported by Markku Vire).
2005-07-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreemodelsort.c: Trivial doc fixes.
* gtk/gtktreesortable.c: Talk about comparison functions, not
sort functions in some places. (#311398, Fabrice Bauzac)
2005-07-25 Matthias Clasen <mclasen@redhat.com>
* gtk/tmpl/gtktreemodelsort.sgml: Note that the sorting
function is not guaranteed to be stable. (#311398,
Fabrice Bauzac)
2005-07-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_destroy): Cleanup
a possible resize idle. (#311141, Robert Ögren)
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed):
(gtk_tree_model_sort_sort_level): Ref the level while using it,
otherwise it may get nuked by gtk_tree_model_sort_increment_stamp.
(gtk_tree_model_sort_row_deleted): Don't leak the root level
here. (#300089, James Bramford, Markku Vire)
2005-03-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
their G_ counterparts, but also mark the name, nick
and blurb as static.
* gtk/*.c: Mark param spec strings as static, using
the new macros.
2005-03-20 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gtk/grk.symbols: Group symbols by header and source file.
* gtk/makegtkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegtkalias.pl -def
* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
this file.
* gtk/*.c: Include gtkalias.h after the other headers,
include gtkaliasdef.c at the bottom.
* gtk/*.h: Small cleanups.
2004-11-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreesortable.c (gtk_tree_sortable_get_sort_column_id): Update
the documentation to specify a more useful behaviour, which can be
implemented with the multiple special values we have now. (#159984,
Nicholas Rahn)
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_sort_column_id):
* gtk/gtktreestore.c (gtk_tree_store_get_sort_column_id):
* gtk/gtkliststore.c (gtk_list_store_get_sort_column_id): Update the
implementations.
Mon Aug 9 12:48:04 2004 Matthias Clasen <maclas@gmx.de>
Add hidden aliases for exported symbols which are
used internally in order to get rid of many PLT
entries. (#145519, Arjan van de Ven)
* gtk/Makefile.am: Add rules to generate gtk.def and
from gtk.symbols, and make make check check the abi
with abicheck.sh.
(gtk_private_h_sources): Add gtkinternals.h
(gtk_built_private_headers): Add gtkalias.h
(gtk_extra_sources): Add gtk.symbols
(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh
* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
The file can be processed by cpp to filter out certain
subsets of symbols.
* gtk/abicheck.sh: New file. Script to check the actually
symbols exported from libgtk-x11.2.0.so against the symbols
found in gtk.symbols.
* gtk/makegtkalias.pl: New file. Perl script to generate the
header containing the alias definitions for internally used
exported symbols from a list of symbols.
* gtk/gtkinternals.h: New file. An uninstalled header listing
symbols which must be exported for some reason and do not appear
in any other header.
* gtk/*.c: Include gtkalias.h
2004-03-05 Federico Mena Quintero <federico@ximian.com>
Fixes#136082 and #135265, patch by Morten Welinder.
* configure.in: Use AC_SYS_LARGEFILE.
* */*.c: #include <config.h>
Mon Mar 1 23:59:18 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_deleted):
Make it work correctly when the child model is cleared
completely. (#121633)
Fri Jan 16 23:59:01 2004 Matthias Clasen <maclas@gmx.de>
The first part of the fix for #114351 (see also
gdk-pixbuf/ChangeLog and po/ChangeLog):
* gtk/gtkintl.h:
* gdk-pixbuf/gdk-pixbuf-i18n.h:
* gdk/gdkintl.h: Define P_() for property blurbs and nicks.
* gdk/gdkdisplaymanager.c:
* gdk-pixbuf/gdk-pixbuf.c:
* modules/input/gtkimcontextxim.c:
* gtk/*.c: Mark property blurbs and nicks with P_().
* po/Makefile.in.in: Add --keyword=P_ to the xgettext
invocation, since property blurbs and nicks are
now marked with P_().
2003-12-17 Marco Pesenti Gritti <marco@gnome.org>
* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_get_iter):
Check that index is not bigger than level array length
also when depth is 1. Now get_iter_first correctly return
FALSE when the model is empty (#129411).
Sat Dec 13 16:13:27 2003 Kristian Rietveld <kris@gtk.org>
A trick for a faster treeview, step 1. Patch to short circuit
_build_tree(), inspired by Jonathan (#80868).
* gtk/gtktreeview.c (gtk_tree_view_init): don't put _IS_LIST in
flags by default,
(gtk_tree_view_build_tree): don't even try to recurse when the
model says that it is a list, remove flag unsetter,
(gtk_tree_view_set_model): change flag setting logic.
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags):
propagate whether or not the child model has _IS_LIST set.
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_flags):
ditto.
Wed Jun 4 19:22:58 2003 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_level_find_insert):
Slightly modified patch from Owen Taylor <otaylor@redhat.com> to
improve the speed of inserting rows into an already sorted list,
#109292
Sat Nov 2 23:48:52 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): remove
the second ref command on the child_model, we only have to ref it
once here. (#96851, reported by Jorn Baayen).
Tue Oct 15 00:53:14 2002 Kristian Rietveld <kris@gtk.org>
Behaviour change, apply changes if the entry of the editable gets
a focus out event (#82405).
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event):
new function,
(gtk_cell_renderer_text_start_editing): stop editing and apply
changes on focus-out.
Tue Oct 15 00:47:35 2002 Kristian Rietveld <kris@gtk.org>
Fixes an *evil* GtkTreeModelSort bug, #93629.
* gtk/gtktreemodel.c (release_row_references): return if the
refs->list is NULL.
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed): if we
are swapping two rows (re-insertion on row_changed), also *emit*
a rows_reordered signal. oops.
Tue Oct 15 00:45:03 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkliststore.c (gtk_list_store_remove_silently): free
the actual link after the node has been removed (#92014).
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_column_finalize):
free the cell_list and the child if the exists (#92014).
Tue Oct 15 00:40:25 2002 Kristian Rietveld <kris@gtk.org>
Don't accept drops if the model has been sorted, #93758)
* gtk/gtkliststore.c (gtk_list_store_row_drop_possible): return
FALSE if the list has been sorted.
* gtk/gtktreestore.c (gtk_tree_store_row_drop_possible): check
if drag_dest is a TreeStore, return FALSE if the tree has been
sorted.
Tue Oct 15 00:33:59 2002 Kristian Rietveld <kris@gtk.org>
Compiler warning fixage, (#85858, #85859, #85860, #85872)
* gtk/gtkcellrendererpixbuf (gtk_cell_renderer_pixbuf_render):
s/guint/GtkCellRendererState/.
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
ditto.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render),
(gtk_cell_renderer_toggle_activate): ditto.
* gtk/gtkliststore.c (gtk_list_store_get_flags): a
s/guint/GtkTreeModelFlags/ on the return type.
Tue Jun 4 19:24:41 2002 Kristian Rietveld <kris@gtk.org>
Discussed in #76249.
* gtk/gtkliststore.[ch]: made gtk_list_store_remove return a gboolean,
added gtk_list_store_iter_is_valid.
* gtk/gtktreestore.[ch]: made gtk_tree_store_remove return a gboolean,
added gtk_tree_store_iter_is_valid.
* gtk/gtktreemodelsort.[ch]: added VALID_ITER macro as in liststore
and treestore sources, added gtk_tree_model_sort_iter_is_valid.
2002-05-24 Dave Camp <dave@ximian.com>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted):
Built an iter directly instead of using
gtk_tree_model_sort_elt_get_path(), since that returns a path for
the child model.
2002-05-24 Dave Camp <dave@ximian.com>
* gtk/gtktreemodelsort.c: Use indices[i] >= level->array->len
rather than level->array->len > indices[i] in the bounds check.
Sun Apr 28 22:43:55 2002 Jonathan Blandford <jrb@gnome.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
so that you can set a new sort func.