[gtk+] gtk_entry_completion_get_cells: revert returning NULL
- From: Lars Uebernickel <larsu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gtk_entry_completion_get_cells: revert returning NULL
- Date: Sun, 3 Nov 2013 18:10:05 +0000 (UTC)
commit a9a6fb045a0faedb30ffdad4ed979f380c483ebd
Author: Lars Uebernickel <lars uebernic de>
Date: Sun Nov 3 19:02:01 2013 +0100
gtk_entry_completion_get_cells: revert returning NULL
Too many applications and libraries depend on accessing the internally
created cell renderer. Allow that again, but print a warning.
gtk/gtkentrycompletion.c | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
---
diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c
index 37763f7..f0f16fc 100644
--- a/gtk/gtkentrycompletion.c
+++ b/gtk/gtkentrycompletion.c
@@ -844,20 +844,21 @@ gtk_entry_completion_clear_text_column_renderer (GtkEntryCompletion *completion)
static GList *
gtk_entry_completion_get_cells (GtkCellLayout *cell_layout)
{
- GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (cell_layout);
+ static gboolean warned = FALSE;
- if (completion->priv->text_column == -1)
- {
- GtkCellArea *area;
+ GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (cell_layout);
+ GtkCellArea *area;
- area = gtk_entry_completion_get_area (cell_layout);
- return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area));
- }
- else
+ if (!warned && completion->priv->text_column != -1)
{
- /* Don't expose the internally created cell renderer */
- return NULL;
+ g_warning ("GtkEntryCompletion: don't call gtk_cell_layout_get_cells() to get "
+ "the cell renderer that was created by setting 'text-column'.");
+ warned = TRUE;
}
+
+ area = gtk_entry_completion_get_area (cell_layout);
+
+ return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area));
}
static void
@@ -1475,6 +1476,9 @@ gtk_entry_completion_delete_action (GtkEntryCompletion *completion,
* to have a list displaying all (and just) strings in the completion list,
* and to get those strings from @column in the model of @completion.
*
+ * The cell renderer added by this function is managed internally. Do
+ * not access or modify it.
+ *
* Any cell renderers that were added to @completion before calling this
* function will be removed.
*
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]