hermet pushed a commit to branch master.
commit abdab0f1d2af96d445c54a4fcb4719f581f12012
Author: ChunEon Park <[email protected]>
Date: Thu Apr 25 19:26:09 2013 +0900
elementary/naviframe - fix null pointer access on naviframe item deletion.
---
ChangeLog | 12 ++++++++----
NEWS | 1 +
src/lib/elc_naviframe.c | 7 +++----
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c3a8660..e31e2ff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1261,7 +1261,7 @@
* When entry is disabled, scrolling is also disabled.
-2013-04-17 ChunEon Park
+2013-04-17 ChunEon Park (Hermet)
* Don't try to pop the naviframe item multiple times.
@@ -1273,7 +1273,7 @@
* Make access object unfocusable when Aaccessibility is disabled.
-2013-04-23 ChunEon Park
+2013-04-23 ChunEon Park (Hermet)
* Added elm_object_domain_part_text_translatable_set(),
elm_object_item_domain_part_text_translatable_set().
@@ -1284,13 +1284,17 @@
cursor is changed. It is a scroller in scroller. In this case, it moved
twice.
-2013-04-23 ChunEon Park
+2013-04-23 ChunEon Park (Hermet)
* Support language change for widget items (Ctxpopup, Hoversel,
Naviframe, Diskselector, List, Menu, Segment_Control, Toolbar, Popup,
MultibuttonEntry)
-2013-04-23 ChunEon Park
+2013-04-23 ChunEon Park (Hermet)
* Support language,changed callback (Fileselector_Button,
Fileselector Entry, Spinner
+
+2013-04-25 ChunEon Park (Hermet)
+
+ * Fix null pointer access on naviframe item deletion.
diff --git a/NEWS b/NEWS
index fdded23..39f360e 100644
--- a/NEWS
+++ b/NEWS
@@ -215,6 +215,7 @@ Improvements:
* When entry is disabled, scrolling is also disabled.
* Make access object unfocusable when Aaccessibility is disabled.
* Fix the scrolled entry in scroller is located wrong position when the
cursor is changed.
+ * Fix null pointer access on naviframe item deletion.
Removals:
diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c
index 543bde4..59ac634 100644
--- a/src/lib/elc_naviframe.c
+++ b/src/lib/elc_naviframe.c
@@ -451,15 +451,14 @@ _item_del_pre_hook(Elm_Object_Item *it)
elm_widget_tree_unfocusable_set(VIEW(nit), EINA_TRUE);
}
- if (sd->stack->last->prev)
- prev_it = EINA_INLIST_CONTAINER_GET
- (sd->stack->last->prev, Elm_Naviframe_Item);
-
sd->stack = eina_inlist_remove(sd->stack, EINA_INLIST_GET(nit));
if (!sd->stack) elm_widget_resize_object_set(WIDGET(it), sd->dummy_edje);
if (top && !sd->on_deletion) /* must raise another one */
{
+ if (sd->stack && sd->stack->last)
+ prev_it = EINA_INLIST_CONTAINER_GET(sd->stack->last,
+ Elm_Naviframe_Item);
if (!prev_it) goto end;
if (sd->freeze_events)
--
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr