forked from enlightenment/efl
Convert target to string, the user will probably do this anyway.
SVN revision: 27514
This commit is contained in:
parent
348e7aaee5
commit
bf9059d260
|
@ -543,7 +543,7 @@ struct _Ecore_X_Event_Selection_Request
|
||||||
Ecore_X_Window requestor;
|
Ecore_X_Window requestor;
|
||||||
Ecore_X_Time time;
|
Ecore_X_Time time;
|
||||||
Ecore_X_Atom selection;
|
Ecore_X_Atom selection;
|
||||||
Ecore_X_Atom target;
|
char *target;
|
||||||
Ecore_X_Atom property;
|
Ecore_X_Atom property;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -166,6 +166,15 @@ _ecore_x_event_free_xdnd_enter(void *data __UNUSED__, void *ev)
|
||||||
free(e);
|
free(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ecore_x_event_free_selection_request(void *data __UNUSED__, void *ev)
|
||||||
|
{
|
||||||
|
Ecore_X_Event_Selection_Request *e;
|
||||||
|
|
||||||
|
XFree(e->target);
|
||||||
|
free(e);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ecore_x_event_free_selection_notify(void *data __UNUSED__, void *ev)
|
_ecore_x_event_free_selection_notify(void *data __UNUSED__, void *ev)
|
||||||
{
|
{
|
||||||
|
@ -1120,9 +1129,9 @@ _ecore_x_event_handle_selection_request(XEvent *xevent)
|
||||||
e->requestor = xevent->xselectionrequest.requestor;
|
e->requestor = xevent->xselectionrequest.requestor;
|
||||||
e->time = xevent->xselectionrequest.time;
|
e->time = xevent->xselectionrequest.time;
|
||||||
e->selection = xevent->xselectionrequest.selection;
|
e->selection = xevent->xselectionrequest.selection;
|
||||||
e->target = xevent->xselectionrequest.target;
|
e->target = XGetAtomName(_ecore_x_disp, xevent->xselectionrequest.target);
|
||||||
e->property = xevent->xselectionrequest.property;
|
e->property = xevent->xselectionrequest.property;
|
||||||
ecore_event_add(ECORE_X_EVENT_SELECTION_REQUEST, e, NULL, NULL);
|
ecore_event_add(ECORE_X_EVENT_SELECTION_REQUEST, e, _ecore_x_event_free_selection_request, NULL);
|
||||||
|
|
||||||
if ((sd = _ecore_x_selection_get(xevent->xselectionrequest.selection)) &&
|
if ((sd = _ecore_x_selection_get(xevent->xselectionrequest.selection)) &&
|
||||||
(sd->win == xevent->xselectionrequest.owner))
|
(sd->win == xevent->xselectionrequest.owner))
|
||||||
|
|
|
@ -277,6 +277,8 @@ _ecore_x_selection_target_atom_get(const char *target)
|
||||||
char *
|
char *
|
||||||
_ecore_x_selection_target_get(Ecore_X_Atom target)
|
_ecore_x_selection_target_get(Ecore_X_Atom target)
|
||||||
{
|
{
|
||||||
|
/* FIXME: Should not return mem allocated with strdup or X mixed,
|
||||||
|
* one should use free to free, the other XFree */
|
||||||
if (target == ECORE_X_ATOM_FILE_NAME)
|
if (target == ECORE_X_ATOM_FILE_NAME)
|
||||||
return strdup(ECORE_X_SELECTION_TARGET_FILENAME);
|
return strdup(ECORE_X_SELECTION_TARGET_FILENAME);
|
||||||
else if (target == ECORE_X_ATOM_STRING)
|
else if (target == ECORE_X_ATOM_STRING)
|
||||||
|
|
Loading…
Reference in New Issue