2006-09-26 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_free_level),
(gtk_tree_model_filter_ref_node),
(gtk_tree_model_filter_real_unref_node): bring zero ref count loops
in sync with each other and the sort model.
2006-09-26 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_init),
(gtk_tree_model_filter_finalize), (gtk_tree_model_filter_row_deleted),
(gtk_tree_model_filter_new): unref the virtual root path once that
node (or one if its ancestors) is deleted, set virtual_root_deleted
so we only unref it once.
2006-09-10 Matthias Clasen <mclasen@redhat.com>
* Commit a patch by Behdad to fix typos, omissions and other
errors in the symbol aliasing, and add checks for local PLT
entries. (#354687, Behdad Esfahbod)
2006-08-16 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_fetch_child):
update the refs from children to parents for all nodes, since
they may all have been moved by the insert operation. (#346800,
patch from Jonathan Matthew).
2006-06-12 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelfilter.[ch]
(gtk_tree_model_filter_convert_child_iter_to_iter),
(gtk_tree_model_filter_convert_child_path_to_path): report status
in return value instead of spewing assertions. (#335729, Yevgen
Muntyan).
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_finalize):
Clean up user data. (#344624, Christian Weiske)
2006-06-02 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c
(gtk_tree_model_filter_convert_child_path_to_path): need to use
gtk_tree_model_filter_get_iter_full() since the path returned
by gtk_real_tree_model_filter_convert_child_path_to_path() includes
invisible nodes.
2006-05-27 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_remove_node):
only unref if elt->ref_count > 0,
(gtk_tree_model_filter_row_deleted): likewise. (Fixes#340839,
reported by Yevgen Muntyan).
2006-02-21 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered):
Make sure we always update the virtual root, also when ->priv->root
is still NULL. (Markku Vire)
2006-02-17 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered):
Only update the virtual root if the child path is an ancestor
of the virtual root. (Patch from Markku Vire).
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.
2005-10-25 Kristian Rietveld <kris@gtk.org>
Fixes#311955, reported by Markku Vire; and a lot more.
* gtk/gtktreemodelfilter.c: Made this thing work correctly.
Levels can now have invisible nodes cached, functions have been
rewritten/refactored to take this into account; also the logic in
some functions has been corrected.
Each referenced node now references all visible children or a single
invisible child, in order to be able to monitor all changes in the
child model required for correct operation.
When a virtual root is set, all nodes on the virtual root level are
referenced.
At last, a bunch of random bug fixes and comment updates.
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-03-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_visible_func):
Document the need to refilter if parameters of the visibility function
change. (#169516, Olivier Sessink)
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.
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
Tue Aug 3 18:38:40 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreemodelfilter.c: Correct the return type
of gtk_tree_model_filter_get_flags(). (#149195, Morten Welinder)
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>
Sat Feb 14 00:05:18 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreemodelfilter.c (bsearch_elt_with_offset):
Use do instead of while. (#134031, Morten Welinder);
Mon Feb 2 23:41:48 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_changed):
Don't access the level after removing the node, since that may
kill the level. (#132615, Crispin Flowerday)
Thu Jan 29 00:59:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered): Don't leak
path if we bail out early. (#132505, Christian Persch)
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.
Tue Nov 18 21:05:05 2003 Christian Persch <chp@cvs.gnome.org>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): fix
mem leaks (#119435).
Tue Nov 18 20:51:38 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): don't
try to fetch the child back, since we do know that it is already
gone by now (#126493, Marco Pesenti Gritti).
Fri Oct 24 20:31:35 2003 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch],
gtk/gtktreemodelfilter.[ch]: Fix licensing (I managed to put it
under GPL licensing instead of LGPL...). (Fixes#125381, Soeren
Sandmann).