summaryrefslogtreecommitdiff
path: root/finch/libgnt/gntbox.c
diff options
context:
space:
mode:
authorSadrul Habib Chowdhury <sadrul@pidgin.im>2009-04-05 08:22:22 +0000
committerSadrul Habib Chowdhury <sadrul@pidgin.im>2009-04-05 08:22:22 +0000
commit6a40a861ae55c86f8d9c108083ee6090039b099a (patch)
tree5d997e0a149f3561f7cae654509350a77176f44e /finch/libgnt/gntbox.c
parentaffcf3f69518431867899a5bb5a8f8e80ee5af5f (diff)
downloadpidgin-6a40a861ae55c86f8d9c108083ee6090039b099a.tar.gz
Update hardware cursor correctly.
Diffstat (limited to 'finch/libgnt/gntbox.c')
-rw-r--r--finch/libgnt/gntbox.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/finch/libgnt/gntbox.c b/finch/libgnt/gntbox.c
index d9d7c208f7..7fb38e6738 100644
--- a/finch/libgnt/gntbox.c
+++ b/finch/libgnt/gntbox.c
@@ -78,13 +78,11 @@ gnt_box_draw(GntWidget *widget)
g_list_foreach(box->list, (GFunc)gnt_widget_draw, NULL);
- gnt_box_sync_children(box);
-
if (box->title && !GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_NO_BORDER))
{
int pos, right;
char *title = g_strdup(box->title);
-
+
get_title_thingies(box, title, &pos, &right);
if (gnt_widget_has_focus(widget))
@@ -96,8 +94,8 @@ gnt_box_draw(GntWidget *widget)
mvwaddch(widget->window, 0, right, ACS_LTEE | gnt_color_pair(GNT_COLOR_NORMAL));
g_free(title);
}
-
- GNTDEBUG;
+
+ gnt_box_sync_children(box);
}
static void
@@ -723,6 +721,9 @@ void gnt_box_sync_children(GntBox *box)
if (GNT_WIDGET_IS_FLAG_SET(widget, GNT_WIDGET_NO_BORDER))
pos = 0;
+ if (!box->active)
+ find_focusable_widget(box);
+
for (iter = box->list; iter; iter = iter->next)
{
GntWidget *w = GNT_WIDGET(iter->data);
@@ -764,6 +765,9 @@ void gnt_box_sync_children(GntBox *box)
copywin(w->window, widget->window, 0, 0,
y, x, y + height - 1, x + width - 1, FALSE);
gnt_widget_set_position(w, x + widget->priv.x, y + widget->priv.y);
+ if (w == box->active) {
+ wmove(widget->window, y + getcury(w->window), x + getcurx(w->window));
+ }
}
}