summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/elc_ctxpopup.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index 44d188423..fb19ca9c4 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -656,9 +656,20 @@ _elm_ctxpopup_elm_layout_sizing_eval(Eo *obj, Elm_Ctxpopup_Data *sd)
656 if ((list_size.x >= rect.w) || (list_size.y >= rect.h)) 656 if ((list_size.x >= rect.w) || (list_size.y >= rect.h))
657 { 657 {
658 elm_list_mode_set(sd->list, ELM_LIST_COMPRESS); 658 elm_list_mode_set(sd->list, ELM_LIST_COMPRESS);
659 evas_object_size_hint_min_set(sd->box, rect.w, rect.h); 659 evas_object_size_hint_min_set(obj, list_size.x, list_size.y);
660 evas_object_size_hint_min_set(obj, rect.w, rect.h);
661 } 660 }
661 /*
662 Decrease height of main object initiate recalc of size (sizing_eval).
663 At each iteration of calculating size height of the object
664 will be closer to the height of the list.
665 */
666 if (list_size.y < rect.h) rect.h--;
667 }
668 else if (sd->content)
669 {
670 evas_object_geometry_get(sd->content, 0, 0, &list_size.x, &list_size.y);
671 if ((list_size.x >= rect.w) || (list_size.y >= rect.h))
672 evas_object_size_hint_min_set(obj, list_size.x, list_size.y);
662 } 673 }
663 674
664 evas_object_geometry_get(sd->parent, NULL, NULL, &parent_size.x, &parent_size.y); 675 evas_object_geometry_get(sd->parent, NULL, NULL, &parent_size.x, &parent_size.y);