[no subject]
http://cyqixywi.110mb.com/kuluwumu.html DeployY ourD eter mina tionO nline ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
GLib 2.27.5 released
GLib 2.27.5 is now available for download at: ftp://ftp.gtk.org/pub/glib/2.27/ http://download.gnome.org/sources/glib/2.27/ aad3038db865b762e01b1dc455ffd601b4083c069018d290e5fdfe1a61d328dc glib-2.27.5.tar.bz2 41fb356950acfa2ef558e09e070fac8b7b2c0ea906316bd09e467b5f7cb665b2 glib-2.27.5.tar.gz Another development release in the 2.27 development cycle. Overview of Changes from GLib 2.27.4 to 2.27.5 == * Network support: - Add g_tls_certificate_verify() to verify a certificate - Add GTlsConnection:use-system-certdb - Other TLS api additions * GIO: - Add g_io_stream_splice_async()/_finish() to splice two iostreams - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable - Remove GPeriodic; it did not receive the necessary review and integration work to declare it stable * GSequence: - New methods g_sequence_lookup() and g_sequence_lookup_iter() * Bugs fixed: 617254 Missing g_sequence_lookup 632544 g_dbus_connection_send_message can not send a locked message... 633350 g_hostname_to_ascii() ignores non-ascii dots 634583 Better error reporting for g_variant_parse() 635007 gsetting enum rule don't work for out-of-srcdir builds 635626 GDBus message idle can execute while flushes are pending 636100 Can't read GSettings:backend property 636305 Typo on g_queue_remove_all() function description 636311 appinfo: tweak application positioning for content-types 636351 g_simple_async_result_is_valid lacks a version tag 636387 gdb autoload files shadow the dir builtin 636673 g_simple_async_report_error_in_idle should allow object... 637147 Add a delay-apply property to GSettings 637171 emblemedicon: add g_emblemed_icon_clear_emblems() 637237 gapplication: plug a memory leak * Translation updates: Estonian Galician Hebrew Norwegian bokmål Simplified Chinese Spanish Traditional Chinese Vietnamese Thanks to our contributors: Damien Lespiau Matthew Barnes Bastien Nocera Benjamin Otte Thomas Hindoe Paaboel Andersen Christian Dywan Colin Walters Chris Kühl Dan Winship Emilio Pozuelo Monfort Christian Persch Xavier Claessens Peng Huang Ted Gould Pavel Holejsovsky Cosimo Cecchi Murray Cumming John Palmieri Will Thompson Javier Jardón December 20, 2010 Matthias Clasen ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: treeview-refactor branch has landed.
On Sun, 2010-12-19 at 22:32 +, Rob Bradford wrote: On 17 December 2010 11:24, Kristian Rietveld k...@gtk.org wrote: On Fri, Dec 17, 2010 at 7:57 AM, Tristan Van Berkom trista...@openismus.com wrote: Furthermore, I would encourage people who use complex tree views in their libraries or applications to test these as soon as possible and report any issues they find. Although we have put significant time in checking all the corner cases, there is a good chance we might have missed something. Great work! I was debugging some warnings in Evolution ... and I spotted that if you use gtk_tree_view_column_set_cell_data_func (which just calls gtk_cell_layout_set_cell_data_func casting GtkTreeViewColumn to a GtkCellLayout) then the data function gets called not with a GtkTreeViewColumn but a GtkCellBoxArea instead. Both implement GtkCellLayout but a GtkTreeViewColumn isn't a GtkCellBoxArea. Ah yes another thing I overlooked. I'm attaching a short patch that addresses this elegantly without the need for adding heaps of code to GtkCellLayout implementers. I'm adding it to treeview-refactor for now, if there's no objections I'll land it on master in a day or two. Cheers, -Tristan (evolution:12620): Gtk-CRITICAL **: gtk_tree_view_column_get_tree_view: assertion `GTK_IS_TREE_VIEW_COLUMN (tree_column)' failed (evolution:12620): Gtk-CRITICAL **: gtk_tree_view_get_selection: assertion `GTK_IS_TREE_VIEW (tree_view)' failed (evolution:12620): Gtk-CRITICAL **: gtk_tree_selection_iter_is_selected: assertion `GTK_IS_TREE_SELECTION (selection)' failed (evolution:12620): Gtk-CRITICAL **: gtk_tree_view_get_drag_dest_row: assertion `GTK_IS_TREE_VIEW (tree_view)' failed ==12620== Conditional jump or move depends on uninitialised value(s) ==12620==at 0x16851764: render_icon (em-folder-tree.c:1240) ==12620==by 0x9927ACC: apply_cell_attributes (gtkcellarea.c:1211) ==12620==by 0xC741BFA: g_hash_table_foreach (ghash.c:1328) ==12620==by 0x9927B5C: gtk_cell_area_real_apply_attributes (gtkcellarea.c:1240) ==12620==by 0x9A2D528: _gtk_marshal_VOID__OBJECT_BOXED_BOOLEAN_BOOLEAN (gtkmarshalers.c:2156) ==12620==by 0xBEB55E2: g_type_class_meta_marshal (gclosure.c:877) ==12620==by 0xBEB52AE: g_closure_invoke (gclosure.c:766) ==12620==by 0xBECF954: signal_emit_unlocked_R (gsignal.c:3182) ==12620==by 0xBECEBE2: g_signal_emit_valist (gsignal.c:2983) ==12620==by 0xBECF160: g_signal_emit (gsignal.c:3040) ==12620==by 0x992AA9A: gtk_cell_area_apply_attributes (gtkcellarea.c:2381) ==12620==by 0x9BB2771: gtk_tree_view_column_cell_set_cell_data (gtktreeviewcolumn.c:2748) ==12620== Cheerio, Rob diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index fcf550e..246a629 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -479,6 +479,7 @@ typedef struct { GtkCellLayoutDataFunc func; gpointer data; GDestroyNotify destroy; + GtkCellLayout *proxy; } CellInfo; static CellInfo *cell_info_new (GtkCellLayoutDataFunc func, @@ -1188,7 +1189,7 @@ apply_cell_attributes (GtkCellRenderer *renderer, /* Call any GtkCellLayoutDataFunc that may have been set by the user */ if (info-func) -info-func (GTK_CELL_LAYOUT (data-area), renderer, +info-func (info-proxy ? info-proxy : GTK_CELL_LAYOUT (data-area), renderer, data-model, data-iter, info-data); g_object_thaw_notify (G_OBJECT (renderer)); @@ -1399,36 +1400,9 @@ gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, gpointer func_data, GDestroyNotify destroy) { - GtkCellArea*area = GTK_CELL_AREA (cell_layout); - GtkCellAreaPrivate *priv = area-priv; - CellInfo *info; - - info = g_hash_table_lookup (priv-cell_info, renderer); - - if (info) -{ - if (info-destroy info-data) - info-destroy (info-data); - - if (func) - { - info-func= func; - info-data= func_data; - info-destroy = destroy; - } - else - { - info-func= NULL; - info-data= NULL; - info-destroy = NULL; - } -} - else -{ - info = cell_info_new (func, func_data, destroy); + GtkCellArea *area = GTK_CELL_AREA (cell_layout); - g_hash_table_insert (priv-cell_info, renderer, info); -} + _gtk_cell_area_set_cell_data_func_with_proxy (area, renderer, (GFunc)func, func_data, destroy, NULL); } static void @@ -3616,3 +3590,53 @@ gtk_cell_area_request_renderer (GtkCellArea*area, *minimum_size += focus_line_width; *natural_size += focus_line_width; } + +void +_gtk_cell_area_set_cell_data_func_with_proxy (GtkCellArea *area, + GtkCellRenderer *cell, + GFunc func, + gpointer func_data, + GDestroyNotify destroy, + gpointer proxy) +{ + GtkCellAreaPrivate *priv; + CellInfo
GLib 2.27.5 released
GLib 2.27.5 is now available for download at: ftp://ftp.gtk.org/pub/glib/2.27/ http://download.gnome.org/sources/glib/2.27/ aad3038db865b762e01b1dc455ffd601b4083c069018d290e5fdfe1a61d328dc glib-2.27.5.tar.bz2 41fb356950acfa2ef558e09e070fac8b7b2c0ea906316bd09e467b5f7cb665b2 glib-2.27.5.tar.gz Another development release in the 2.27 development cycle. Overview of Changes from GLib 2.27.4 to 2.27.5 == * Network support: - Add g_tls_certificate_verify() to verify a certificate - Add GTlsConnection:use-system-certdb - Other TLS api additions * GIO: - Add g_io_stream_splice_async()/_finish() to splice two iostreams - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable - Remove GPeriodic; it did not receive the necessary review and integration work to declare it stable * GSequence: - New methods g_sequence_lookup() and g_sequence_lookup_iter() * Bugs fixed: 617254 Missing g_sequence_lookup 632544 g_dbus_connection_send_message can not send a locked message... 633350 g_hostname_to_ascii() ignores non-ascii dots 634583 Better error reporting for g_variant_parse() 635007 gsetting enum rule don't work for out-of-srcdir builds 635626 GDBus message idle can execute while flushes are pending 636100 Can't read GSettings:backend property 636305 Typo on g_queue_remove_all() function description 636311 appinfo: tweak application positioning for content-types 636351 g_simple_async_result_is_valid lacks a version tag 636387 gdb autoload files shadow the dir builtin 636673 g_simple_async_report_error_in_idle should allow object... 637147 Add a delay-apply property to GSettings 637171 emblemedicon: add g_emblemed_icon_clear_emblems() 637237 gapplication: plug a memory leak * Translation updates: Estonian Galician Hebrew Norwegian bokmål Simplified Chinese Spanish Traditional Chinese Vietnamese Thanks to our contributors: Damien Lespiau Matthew Barnes Bastien Nocera Benjamin Otte Thomas Hindoe Paaboel Andersen Christian Dywan Colin Walters Chris Kühl Dan Winship Emilio Pozuelo Monfort Christian Persch Xavier Claessens Peng Huang Ted Gould Pavel Holejsovsky Cosimo Cecchi Murray Cumming John Palmieri Will Thompson Javier Jardón December 20, 2010 Matthias Clasen ___ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list