aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Faure <billiob@gmail.com>2019-01-05 18:33:53 +0100
committerBoris Faure <billiob@gmail.com>2019-01-05 18:33:53 +0100
commit571d2d03f10403cb24d0b9ffaee1af86fcc46fe6 (patch)
treeb7d79b3716bfeac22697253345bffcfefdfca729
parentMerge branch 'terminology-1.3' (diff)
parenttermio: fix invalid initial resize. Closes T7548 (diff)
downloadterminology-571d2d03f10403cb24d0b9ffaee1af86fcc46fe6.tar.gz
Merge branch 'terminology-1.3'
-rw-r--r--src/bin/termio.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/bin/termio.c b/src/bin/termio.c
index 3ccb6cf..66a9448 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -5402,8 +5402,10 @@ static void
_smart_size(Evas_Object *obj, int w, int h, Eina_Bool force)
{
Termio *sd = evas_object_smart_data_get(obj);
+ Eina_Bool first_time;
EINA_SAFETY_ON_NULL_RETURN(sd);
+ first_time = (sd->grid.h == 0);
if ((w <= 0) || (h <= 0))
{
w = 80;
@@ -5414,12 +5416,13 @@ _smart_size(Evas_Object *obj, int w, int h, Eina_Bool force)
{
if ((w == sd->grid.w) && (h == sd->grid.h)) return;
}
- evas_event_freeze(evas_object_evas_get(obj));
- evas_object_textgrid_size_set(sd->grid.obj, w, h);
sd->grid.w = w;
sd->grid.h = h;
+ evas_event_freeze(evas_object_evas_get(obj));
+ evas_object_textgrid_size_set(sd->grid.obj, w, h);
evas_object_resize(sd->cursor.obj, sd->font.chw, sd->font.chh);
- evas_object_size_hint_min_set(obj, sd->font.chw, sd->font.chh);
+ if (!first_time)
+ evas_object_size_hint_min_set(obj, sd->font.chw, sd->font.chh);
if (!sd->noreqsize)
evas_object_size_hint_request_set(obj,
sd->font.chw * sd->grid.w,
@@ -5655,7 +5658,11 @@ _smart_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
EINA_SAFETY_ON_NULL_RETURN(sd);
evas_object_geometry_get(obj, NULL, NULL, &ow, &oh);
- if ((ow == w) && (oh == h)) return;
+ /* Do not resize if same size */
+ if ((ow == w) && (oh == h))
+ {
+ return;
+ }
evas_object_smart_changed(obj);
if (!sd->delayed_size_timer)
sd->delayed_size_timer = ecore_timer_add(0.0, _smart_cb_delayed_size, obj);
@@ -6372,7 +6379,7 @@ termio_add(Evas_Object *win, Config *config,
sd->pty->cb.bell.data = obj;
sd->pty->cb.command.func = _smart_pty_command;
sd->pty->cb.command.data = obj;
- _smart_size(obj, w, h, EINA_FALSE);
+ _smart_size(obj, w, h, EINA_TRUE);
return obj;
}