Commit Graph

55 Commits

Author SHA1 Message Date
Kristian Rietveld
4e6561b2b2 short-circuit in case an empty root level would be build (and thus
2008-03-05  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted):
	short-circuit in case an empty root level would be build (and thus
	directly destroyed) if no virtual root has been set.


svn path=/trunk/; revision=19712
2008-03-05 10:36:35 +00:00
Kristian Rietveld
496d330181 Fix a leak of the path (#504611, patch from Sadrul Habib Chowdhury).
2008-01-10  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_path): Fix
	a leak of the path (#504611, patch from Sadrul Habib Chowdhury).


svn path=/trunk/; revision=19332
2008-01-10 09:27:40 +00:00
Matthias Clasen
5c4d0d697d Don't assume that a path of depth 0 has no indices. (#467324, Szilard
2007-09-09  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_rows_reordered):
        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered): Don't
        assume that a path of depth 0 has no indices.  (#467324, Szilard
        Pfeiffer)



svn path=/trunk/; revision=18770
2007-09-09 19:48:22 +00:00
Matthias Clasen
82ce59cd0f Remove unnecessary NULL checks before g_free(). (#369666, Morten Welinder,
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * Everywhere: Remove unnecessary NULL checks before
        g_free().  (#369666, Morten Welinder, Djihed Afifi)

        * configure.in: Check for ftw.h



svn path=/trunk/; revision=17444
2007-03-09 21:57:37 +00:00
Matthias Clasen
07e7719441 Apply a cleanup patch by Kjartan Maraas (#341812)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* Apply a cleanup patch by Kjartan Maraas  (#341812)
2006-10-08 05:07:55 +00:00
Kristian Rietveld
38dc73faee 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_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-27 14:16:47 +00:00
Kristian Rietveld
2d7405d9c6 unref the virtual root path once that node (or one if its ancestors) is
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-27 12:11:46 +00:00
Matthias Clasen
f45a35921a Commit a patch by Behdad to fix typos, omissions and other errors in the
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-09-10 06:39:16 +00:00
Kristian Rietveld
0c9e43aa75 update the refs from children to parents for all nodes, since they may all
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-08-16 14:35:02 +00:00
Kristian Rietveld
563f28a88d report status in return value instead of spewing assertions. (#335729,
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 14:48:43 +00:00
Matthias Clasen
6bc87f5d3b Clean up user data. (#344624, Christian Weiske)
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-12 13:42:29 +00:00
Kristian Rietveld
3180e45356 need to use gtk_tree_model_filter_get_iter_full() since the path returned
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-06-02 18:39:25 +00:00
Kristian Rietveld
5f46cc62c1 only unref if elt->ref_count > 0, (gtk_tree_model_filter_row_deleted):
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-05-27 21:48:46 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Kristian Rietveld
e3880748da Make sure we always update the virtual root, also when ->priv->root is
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-21 09:06:09 +00:00
Kristian Rietveld
2acb0491fb Only update the virtual root if the child path is an ancestor of the
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-17 15:00:47 +00:00
Kristian Rietveld
a25bc9a0b7 free temporary paths after usage (patch from maemo-gtk),
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-02-08 15:20:43 +00:00
Kristian Rietveld
c50df41b52 fix stupid thinko.
2005-10-28  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted): fix
	stupid thinko.
2005-10-28 17:15:15 +00:00
Matthias Clasen
feb5ffb032 Fix a C99ism. (#320000, Kazuki Iwamoto)
2005-10-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_build_level): Fix a
	C99ism.  (#320000, Kazuki Iwamoto)
2005-10-28 14:16:45 +00:00
Kristian Rietveld
af86cec5e1 Fixes #311955, reported by Markku Vire; and a lot more.
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-10-25 21:00:40 +00:00
Matthias Clasen
463aab93dd Various cleanups. (#315360, Kjartan Maraas)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2005-09-13 19:57:42 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
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-09-01 05:11:46 +00:00
Matthias Clasen
c09cc89317 Intern type names in code generated by glib-mkenums, too.
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-31 16:53:43 +00:00
Matthias Clasen
ec0510a0ec Make it compile 2005-08-24 04:36:12 +00:00
Matthias Clasen
3b40a9c2d9 Fix #314335 2005-08-24 04:15:28 +00:00
Matthias Clasen
b7bd68546c Remove ambiguities pointed out by gcc.
2005-08-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_deleted)
	(gtk_tree_model_filter_remove_node): Remove ambiguities pointed
	out by gcc.
2005-08-10 04:15:43 +00:00
Matthias Clasen
58824aa9bb Clarify the code, gcc 4 complains about predecrement in MAX().
2005-06-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_fetch_child):
	Clarify the code, gcc 4 complains about predecrement in MAX().
2005-06-30 19:07:16 +00:00
Matthias Clasen
2d9b7d9587 Document the need to refilter if parameters of the visibility function
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-29 06:04:18 +00:00
Matthias Clasen
4c28ce0877 Use canonical names for g_object_notify() as well.
2005-03-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c:
	* gdk/gdkdisplaymanager.c:
	Use canonical names for g_object_notify() as well.
2005-03-26 05:49:15 +00:00
Matthias Clasen
269d89c79c Define macros GTK_PARAM_READABLE, GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE
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-22 02:14:55 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
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.
2005-03-20 07:01:23 +00:00
Matthias Clasen
52711c24e8 More canonical property names. 2005-03-09 06:15:13 +00:00
Matthias Clasen
9eb636fe12 Don't emit a warning if a parent node is filtered out. (#164726, Olivier
2005-02-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_changed):
	Don't emit a warning if a parent node is filtered out. (#164726,
	Olivier Sessink)
2005-02-24 14:42:26 +00:00
Manish Singh
60b30ff513 gdk/linux-fb/gdkgc-fb.c gdk/win32/gdkgc-win32.c
Fri Nov 19 14:54:09 2004  Manish Singh  <yosh@gimp.org>

        * gdk/linux-fb/gdkgc-fb.c
        * gdk/win32/gdkgc-win32.c
        * gdk/win32/gdkwindow-win32.c
        * gtk/gtkaboutdialog.c
        * gtk/gtkaction.c
        * gtk/gtkactiongroup.c
        * gtk/gtkcellrendererprogress.c
        * gtk/gtkcellview.c
        * gtk/gtkcolorbutton.c
        * gtk/gtkcombobox.c
        * gtk/gtkcomboboxentry.c
        * gtk/gtkentrycompletion.c
        * gtk/gtkfilechooserbutton.c
        * gtk/gtkmenutoolbutton.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktoggletoolbutton.c
        * gtk/gtktoolbutton.c
        * gtk/gtktoolitem.c
        * gtk/gtktreemodelfilter.c
        * gtk/gtktreeselection.c
        * gtk/gtktreeviewcolumn.c
        * gtk/gtkuimanager.c: get rid of unnecessary casts.

        * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
        cast away the const for g_value_set_enum. This is after the g_warning,
        so this is a hack to begin with.

        * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property):
        add a cast to GTK_FILE_CHOOSER for impl here.
2004-11-19 23:18:38 +00:00
Matthias Clasen
bfb64fa04f Make the code clearer. (#155239, Murray Cumming)
2004-10-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_new): Make
	the code clearer.  (#155239, Murray Cumming)
2004-10-21 02:51:50 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
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-08-09 16:59:53 +00:00
Matthias Clasen
c9cf312cdd s/childs/children/g.
Wed Aug  4 01:37:57 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreeview.c:
	* gtk/gtktreestore.c:
	* gtk/gtktreemodelfilter.c:
	* gtk/gtknotebook.c: s/childs/children/g.
2004-08-04 05:38:58 +00:00
Matthias Clasen
a8139b2d59 Correct the return type of gtk_tree_model_filter_get_flags(). (#149195,
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-08-03 22:41:31 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by 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>
2004-03-06 03:38:59 +00:00
Matthias Clasen
312f668efc doc updates. 2004-03-05 22:54:14 +00:00
Matthias Clasen
cf6d6a1a6e Use do instead of while. (#134031, Morten Welinder);
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);
2004-02-13 23:02:58 +00:00
Matthias Clasen
64aa39cd4f Correct the docs.
Thu Feb 12 02:22:02 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_set_modify_func):
	Correct the docs.

Thu Feb 12 02:00:53 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtktreemodelfilter.sgml:
	* gtk/tmpl/gtkentrycompletion.sgml:
	* gtk/tmpl/gtkcelllayout.sgml: Additions.

Thu Feb 12 01:27:02 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtk-sections.txt: Updates.

Thu Feb 12 01:26:42 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/Makefile.am (IGNORE_HFILES): Add some private headers.
2004-02-12 01:52:26 +00:00
Matthias Clasen
f744d5aa33 Don't access the level after removing the node, since that may kill the
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)
2004-02-02 22:44:05 +00:00
Matthias Clasen
026542e29f Don't leak path if we bail out early. (#132505, Christian Persch)
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)
2004-01-28 23:56:50 +00:00
Kristian Rietveld
4d9e9afdc1 Fixes #110249, reworked patch from Joshua N Pritikin.
Thu Dec 18 19:13:12 2003  Kristian Rietveld  <kris@gtk.org>

	Fixes #110249, reworked patch from Joshua N Pritikin.

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_type),
	(gtk_tree_model_sort_tree_drag_source_init),
	(gtk_tree_model_sort_row_draggable),
	(gtk_tree_model_sort_drag_data_get),
	(gtk_tree_model_sort_drag_data_delete): implement GtkTreeDragSource.

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_type),
	(gtk_tree_model_filter_tree_drag_source_init),
	(gtk_tree_model_filter_row_draggable),
	(gtk_tree_model_filter_drag_data_get),
	(gtk_tree_model_filter_drag_data_delete): ditto.
2003-12-18 18:19:05 +00:00
Kristian Rietveld
5f3cde77ba A trick for a faster treeview, step 1. Patch to short circuit
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.
2003-12-13 15:20:28 +00:00
Christian Persch
7cda670d12 fix mem leaks (#119435).
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).
2003-11-18 20:09:33 +00:00
Kristian Rietveld
a0e4889748 don't try to fetch the child back, since we do know that it is already
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).
2003-11-18 19:57:14 +00:00
Kristian Rietveld
2e2b780f97 Fix licensing (I managed to put it under GPL licensing instead of
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).
2003-10-24 18:36:55 +00:00