win: no longer segfaults from typop with multiple files
This commit is contained in:
parent
6b8e6f0516
commit
80124a72ca
|
@ -4085,6 +4085,24 @@ _cb_media_loop(void *data,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_popmedia_queue_add(Term *term, const char *src,
|
||||||
|
Eina_Bool from_user_interaction)
|
||||||
|
{
|
||||||
|
struct Pop_Media *pm = calloc(1, sizeof(struct Pop_Media));
|
||||||
|
|
||||||
|
if (!pm)
|
||||||
|
return;
|
||||||
|
|
||||||
|
pm->src = eina_stringshare_add(src);
|
||||||
|
pm->from_user_interaction = from_user_interaction;
|
||||||
|
|
||||||
|
term->popmedia_queue = eina_list_append(term->popmedia_queue, pm);
|
||||||
|
if (!term->popmedia)
|
||||||
|
_popmedia_queue_process(term);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_popmedia_show(Term *term, const char *src, Media_Type type)
|
_popmedia_show(Term *term, const char *src, Media_Type type)
|
||||||
{
|
{
|
||||||
|
@ -4094,14 +4112,15 @@ _popmedia_show(Term *term, const char *src, Media_Type type)
|
||||||
EINA_SAFETY_ON_NULL_RETURN(config);
|
EINA_SAFETY_ON_NULL_RETURN(config);
|
||||||
if (term->popmedia)
|
if (term->popmedia)
|
||||||
{
|
{
|
||||||
const char *s;
|
struct Pop_Media *pm;
|
||||||
|
|
||||||
EINA_LIST_FREE(term->popmedia_queue, s)
|
/* Flush queue */
|
||||||
|
EINA_LIST_FREE(term->popmedia_queue, pm)
|
||||||
{
|
{
|
||||||
eina_stringshare_del(s);
|
eina_stringshare_del(pm->src);
|
||||||
}
|
}
|
||||||
term->popmedia_queue = eina_list_append(term->popmedia_queue,
|
/* queue new item */
|
||||||
eina_stringshare_add(src));
|
_popmedia_queue_add(term, src, EINA_FALSE);
|
||||||
edje_object_signal_emit(term->bg, "popmedia,off", "terminology");
|
edje_object_signal_emit(term->bg, "popmedia,off", "terminology");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -4162,7 +4181,6 @@ _ty_http_head_delete(Ty_Http_Head *ty_head)
|
||||||
free(ty_head);
|
free(ty_head);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_media_http_head_timeout(void *data)
|
_media_http_head_timeout(void *data)
|
||||||
{
|
{
|
||||||
|
@ -4307,8 +4325,6 @@ error:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_popmedia_queue_process(Term *term)
|
_popmedia_queue_process(Term *term)
|
||||||
{
|
{
|
||||||
|
@ -4326,23 +4342,6 @@ _popmedia_queue_process(Term *term)
|
||||||
free(pm);
|
free(pm);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
_popmedia_queue_add(Term *term, const char *src,
|
|
||||||
Eina_Bool from_user_interaction)
|
|
||||||
{
|
|
||||||
struct Pop_Media *pm = calloc(1, sizeof(struct Pop_Media));
|
|
||||||
|
|
||||||
if (!pm)
|
|
||||||
return;
|
|
||||||
|
|
||||||
pm->src = eina_stringshare_add(src);
|
|
||||||
pm->from_user_interaction = from_user_interaction;
|
|
||||||
|
|
||||||
term->popmedia_queue = eina_list_append(term->popmedia_queue, pm);
|
|
||||||
if (!term->popmedia)
|
|
||||||
_popmedia_queue_process(term);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_cb_popup(void *data,
|
_cb_popup(void *data,
|
||||||
Evas_Object *_obj EINA_UNUSED,
|
Evas_Object *_obj EINA_UNUSED,
|
||||||
|
|
Loading…
Reference in New Issue