* @endcode
*
* @see evas_object_image_animated_get()
- * @see evas_object_image_animated_frame_num_get()
+ * @see evas_object_image_animated_frame_count_get()
* @see evas_object_image_animated_loop_type_get()
* @see evas_object_image_animated_loop_count_get()
* @see evas_object_image_animated_frame_duration_get()
* This returns total number of frames the image object supports (if animated)
*
* @see evas_object_image_animated_get()
- * @see evas_object_image_animated_frame_num_get()
+ * @see evas_object_image_animated_frame_count_get()
* @see evas_object_image_animated_loop_type_get()
* @see evas_object_image_animated_loop_count_get()
* @see evas_object_image_animated_frame_duration_get()
* The default type is EVAS_IMAGE_ANIMATED_HINT_LOOP.
*
* @see evas_object_image_animated_get()
- * @see evas_object_image_animated_frame_num_get()
+ * @see evas_object_image_animated_frame_count_get()
* @see evas_object_image_animated_loop_type_get()
* @see evas_object_image_animated_loop_count_get()
* @see evas_object_image_animated_frame_duration_get()
* the number of times it loops).
*
* @see evas_object_image_animated_get()
- * @see evas_object_image_animated_frame_num_get()
+ * @see evas_object_image_animated_frame_count_get()
* @see evas_object_image_animated_loop_type_get()
* @see evas_object_image_animated_loop_count_get()
* @see evas_object_image_animated_frame_duration_get()
* frame2's duration
*
* @see evas_object_image_animated_get()
- * @see evas_object_image_animated_frame_num_get()
+ * @see evas_object_image_animated_frame_count_get()
* @see evas_object_image_animated_loop_type_get()
* @see evas_object_image_animated_loop_count_get()
* @see evas_object_image_animated_frame_duration_get()
* frame.
*
* @see evas_object_image_animated_get()
- * @see evas_object_image_animated_frame_num_get()
+ * @see evas_object_image_animated_frame_count_get()
* @see evas_object_image_animated_loop_type_get()
* @see evas_object_image_animated_loop_count_get()
* @see evas_object_image_animated_frame_duration_get()
DATA32 *ptr_src;
Image_Entry_Frame *new_frame = NULL;
int cur_frame = frame->index;
+ int start_frame = 1;
+ int j = 0;
- if (!_find_close_frame(ie, cur_frame, &new_frame))
+ if (_find_close_frame(ie, cur_frame, &new_frame))
+ start_frame = new_frame->index + 1;
+
+ if ((start_frame < 1) || (start_frame > cur_frame))
+ {
+ *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
+ goto error;
+ }
+ /* load previous frame of cur_frame */
+ for (j = start_frame; j < cur_frame ; j++)
{
- if (!evas_image_load_specific_frame(ie, ie->file, cur_frame-1, error))
+ if (!evas_image_load_specific_frame(ie, ie->file, j, error))
{
*error = EVAS_LOAD_ERROR_CORRUPT_FILE;
goto error;
}
}
+
+ if (!_find_frame(ie, cur_frame - 1, &new_frame))
+ {
+ *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
+ goto error;
+ }
else
{
ptr_src = new_frame->data;