Index: data/themes/widgets/slideshow.edc
===================================================================
--- data/themes/widgets/slideshow.edc	(revision 71623)
+++ data/themes/widgets/slideshow.edc	(working copy)
@@ -380,6 +380,22 @@ group { name: "elm/slideshow/base/default";
          target: "image_2_whole";
          after: "square_next_2";
       }
+      program { name: "next";
+         signal: "none,next";
+         source: "slideshow";
+         action: STATE_SET "fade_prev_next" 0.0;
+         target: "image_1_whole";
+         target: "image_2_whole";
+         after: "end";
+      }
+      program { name: "previous";
+         signal: "none,previous";
+         source: "slideshow";
+         action: STATE_SET "fade_prev_next" 0.0;
+         target: "image_1_whole";
+         target: "image_2_whole";
+         after: "end";
+      }
       program { name: "end";
          action: SIGNAL_EMIT "end" "slideshow";
       }
Index: src/lib/elm_slideshow.c
===================================================================
--- src/lib/elm_slideshow.c	(revision 71623)
+++ src/lib/elm_slideshow.c	(working copy)
@@ -537,7 +537,10 @@ elm_slideshow_item_show(Elm_Object_Item *it)
    _item_realize(next);
    elm_layout_content_set(WIDGET(item), "elm.swallow.2", VIEW(next));
 
-   snprintf(buf, sizeof(buf), "%s,next", sd->transition);
+   if (!sd->transition)
+     sprintf(buf,"none,next");
+   else
+     snprintf(buf, sizeof(buf), "%s,next", sd->transition);
    elm_layout_signal_emit(WIDGET(item), buf, "slideshow");
 
    sd->previous = sd->current;
@@ -569,7 +572,10 @@ elm_slideshow_next(Evas_Object *obj)
 
    elm_layout_content_set(obj, "elm.swallow.2", VIEW(next));
 
-   snprintf(buf, sizeof(buf), "%s,next", sd->transition);
+   if (!sd->transition)
+     sprintf(buf,"none,next");
+   else
+     snprintf(buf, sizeof(buf), "%s,next", sd->transition);
    elm_layout_signal_emit(obj, buf, "slideshow");
 
    sd->previous = sd->current;
@@ -601,7 +607,10 @@ elm_slideshow_previous(Evas_Object *obj)
 
    elm_layout_content_set(obj, "elm.swallow.2", VIEW(prev));
 
-   snprintf(buf, 1024, "%s,previous", sd->transition);
+   if (!sd->transition)
+     sprintf(buf,"none,previous");
+   else
+     snprintf(buf, 1024, "%s,previous", sd->transition);
    elm_layout_signal_emit(obj, buf, "slideshow");
 
    sd->previous = sd->current;
Index: src/bin/test_slideshow.c
===================================================================
--- src/bin/test_slideshow.c	(revision 71623)
+++ src/bin/test_slideshow.c	(working copy)
@@ -47,10 +47,10 @@ _mouse_out(void *data, Evas *e __UNUSED__, Evas_Ob
 }
 
 static void
-_hv_select(void *data, Evas_Object *obj, void *event_info __UNUSED__)
+_hv_select(void *data, Evas_Object *obj, void *event_info)
 {
    elm_slideshow_transition_set(slideshow, data);
-   elm_object_text_set(obj, data);
+   elm_object_text_set(obj, elm_object_item_text_get(event_info));
 }
 
 static void
@@ -171,6 +171,7 @@ test_slideshow(void *data __UNUSED__, Evas_Object
    elm_hoversel_hover_parent_set(hv, win);
    EINA_LIST_FOREACH(elm_slideshow_transitions_get(slideshow), l, transition)
       elm_hoversel_item_add(hv, transition, NULL, 0, _hv_select, transition);
+   elm_hoversel_item_add(hv, "None", NULL, 0, _hv_select, NULL);
    elm_object_text_set(hv, eina_list_data_get(elm_slideshow_transitions_get(slideshow)));
    evas_object_show(hv);
 
