[gdl] Set name for floating windows correctly.
- From: Johannes Schmid <jhs src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdl] Set name for floating windows correctly.
- Date: Sun, 25 Apr 2010 19:18:00 +0000 (UTC)
commit 94fd2956f6a9bfb69f580b29354e29c7f8814ec2
Author: Johannes Schmid <jhs gnome org>
Date: Sun Apr 25 21:17:45 2010 +0200
Set name for floating windows correctly.
This was broken due to a side-effect of setting "long-name" as construct property for
GdlDockObject.
gdl/gdl-dock.c | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 deletions(-)
---
diff --git a/gdl/gdl-dock.c b/gdl/gdl-dock.c
index 06984bd..4620b95 100644
--- a/gdl/gdl-dock.c
+++ b/gdl/gdl-dock.c
@@ -458,7 +458,6 @@ gdl_dock_set_title (GdlDock *dock)
{
GdlDockObject *object = GDL_DOCK_OBJECT (dock);
gchar *title = NULL;
- gboolean free_title = FALSE;
if (!dock->_priv->window)
return;
@@ -468,25 +467,22 @@ gdl_dock_set_title (GdlDock *dock)
}
else if (object->master) {
g_object_get (object->master, "default-title", &title, NULL);
- free_title = TRUE;
}
if (!title && dock->root) {
g_object_get (dock->root, "long-name", &title, NULL);
- free_title = TRUE;
}
if (!title) {
/* set a default title in the long_name */
dock->_priv->auto_title = TRUE;
- free_title = FALSE;
- title = object->long_name = g_strdup_printf (
+ title = g_strdup_printf (
_("Dock #%d"), GDL_DOCK_MASTER (object->master)->dock_number++);
}
gtk_window_set_title (GTK_WINDOW (dock->_priv->window), title);
- if (free_title)
- g_free (title);
+
+ g_free (title);
}
static void
@@ -495,12 +491,21 @@ gdl_dock_notify_cb (GObject *object,
gpointer user_data)
{
GdlDock *dock;
+ gchar* long_name;
g_return_if_fail (object != NULL || GDL_IS_DOCK (object));
-
- dock = GDL_DOCK (object);
- dock->_priv->auto_title = FALSE;
- gdl_dock_set_title (dock);
+
+ g_object_get (object, "long-name", &long_name, NULL);
+
+ g_message ("Notify long_name: %s", long_name);
+
+ if (long_name)
+ {
+ dock = GDL_DOCK (object);
+ dock->_priv->auto_title = FALSE;
+ gdl_dock_set_title (dock);
+ }
+ g_free (long_name);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]