diff options
author | Sadrul Habib Chowdhury <sadrul@pidgin.im> | 2009-04-05 08:22:22 +0000 |
---|---|---|
committer | Sadrul Habib Chowdhury <sadrul@pidgin.im> | 2009-04-05 08:22:22 +0000 |
commit | 6a40a861ae55c86f8d9c108083ee6090039b099a (patch) | |
tree | 5d997e0a149f3561f7cae654509350a77176f44e /finch/libgnt/gntbox.c | |
parent | affcf3f69518431867899a5bb5a8f8e80ee5af5f (diff) | |
download | pidgin-6a40a861ae55c86f8d9c108083ee6090039b099a.tar.gz |
Update hardware cursor correctly.
Diffstat (limited to 'finch/libgnt/gntbox.c')
-rw-r--r-- | finch/libgnt/gntbox.c | 14 |
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)); + } } } |