forked from enlightenment/efl
add AMAZING hack to work around a bug that crashes you instantly if you try to cnp in elm
SVN revision: 62847
This commit is contained in:
parent
db7acf5726
commit
841597474a
|
@ -984,14 +984,21 @@ text_converter(char *target __UNUSED__, void *data, int size __UNUSED__, void **
|
|||
}
|
||||
|
||||
static Eina_Bool
|
||||
edje_converter(char *target __UNUSED__, void *data, int size __UNUSED__, void **data_ret, int *size_ret, Ecore_X_Atom *ttype __UNUSED__, int *typesize __UNUSED__)
|
||||
edje_converter(char *target __UNUSED__, void *data, int size, void **data_ret, int *size_ret, Ecore_X_Atom *ttype __UNUSED__, int *typesize __UNUSED__)
|
||||
{
|
||||
Cnp_Selection *sel;
|
||||
|
||||
sel = selections + *((int *)data);
|
||||
if (data_ret) *data_ret = strdup(sel->selbuf);
|
||||
if (size_ret) *size_ret = strlen(sel->selbuf);
|
||||
if (size == sizeof(int))
|
||||
{
|
||||
Cnp_Selection *sel;
|
||||
|
||||
sel = selections + *((int *)data);
|
||||
if (data_ret) *data_ret = strdup(sel->selbuf);
|
||||
if (size_ret) *size_ret = strlen(sel->selbuf);
|
||||
}
|
||||
else if (size)
|
||||
{
|
||||
if (data_ret) *data_ret = strndup(data, size - 1);
|
||||
if (size_ret) *size_ret = size - 1;
|
||||
}
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
|
@ -999,11 +1006,19 @@ edje_converter(char *target __UNUSED__, void *data, int size __UNUSED__, void **
|
|||
static Eina_Bool
|
||||
html_converter(char *target __UNUSED__, void *data, int size __UNUSED__, void **data_ret, int *size_ret, Ecore_X_Atom *ttype __UNUSED__, int *typesize __UNUSED__)
|
||||
{
|
||||
Cnp_Selection *sel;
|
||||
if (size == sizeof(int))
|
||||
{
|
||||
Cnp_Selection *sel;
|
||||
|
||||
sel = selections + *(int *)data;
|
||||
if (data_ret) *data_ret = strdup(sel->selbuf);
|
||||
if (size_ret) *size_ret = strlen(sel->selbuf);
|
||||
sel = selections + *((int *)data);
|
||||
if (data_ret) *data_ret = strdup(sel->selbuf);
|
||||
if (size_ret) *size_ret = strlen(sel->selbuf);
|
||||
}
|
||||
else if (size)
|
||||
{
|
||||
if (data_ret) *data_ret = strndup(data, size - 1);
|
||||
if (size_ret) *size_ret = size - 1;
|
||||
}
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
@ -1011,11 +1026,20 @@ html_converter(char *target __UNUSED__, void *data, int size __UNUSED__, void **
|
|||
static Eina_Bool
|
||||
uri_converter(char *target __UNUSED__, void *data, int size __UNUSED__, void **data_ret, int *size_ret, Ecore_X_Atom *ttype __UNUSED__, int *typesize __UNUSED__)
|
||||
{
|
||||
Cnp_Selection *sel;
|
||||
sel = selections + *((int *)data);
|
||||
cnp_debug("Uri converter\n");
|
||||
if (data_ret) *data_ret = strdup(sel->selbuf);
|
||||
if (size_ret) *size_ret = strlen(sel->selbuf);
|
||||
if (size == sizeof(int))
|
||||
{
|
||||
Cnp_Selection *sel;
|
||||
|
||||
sel = selections + *((int *)data);
|
||||
if (data_ret) *data_ret = strdup(sel->selbuf);
|
||||
if (size_ret) *size_ret = strlen(sel->selbuf);
|
||||
}
|
||||
else if (size)
|
||||
{
|
||||
if (data_ret) *data_ret = strndup(data, size - 1);
|
||||
if (size_ret) *size_ret = size - 1;
|
||||
}
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue