forked from enlightenment/enlightenment
wl drag start - check source ptr consistently
fix CID 1403926
This commit is contained in:
parent
3a581f888d
commit
c9356a3f8c
|
@ -488,10 +488,11 @@ _e_comp_wl_data_device_selection_set(void *data EINA_UNUSED, E_Comp_Wl_Data_Sour
|
||||||
sel_source = (E_Comp_Wl_Data_Source *)e_comp_wl->selection.data_source;
|
sel_source = (E_Comp_Wl_Data_Source *)e_comp_wl->selection.data_source;
|
||||||
if (sel_source && (e_comp_wl->selection.serial - serial < UINT32_MAX / 2))
|
if (sel_source && (e_comp_wl->selection.serial - serial < UINT32_MAX / 2))
|
||||||
{
|
{
|
||||||
if (!serial)
|
if ((source) && (!serial))
|
||||||
{
|
{
|
||||||
/* drm canvas will always have serial 0 */
|
/* drm canvas will always have serial 0 */
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
|
||||||
wl_client_get_credentials(wl_resource_get_client(source->resource), &pid, NULL, NULL);
|
wl_client_get_credentials(wl_resource_get_client(source->resource), &pid, NULL, NULL);
|
||||||
if (pid != getpid()) return;
|
if (pid != getpid()) return;
|
||||||
}
|
}
|
||||||
|
@ -509,7 +510,8 @@ _e_comp_wl_data_device_selection_set(void *data EINA_UNUSED, E_Comp_Wl_Data_Sour
|
||||||
|
|
||||||
e_comp_wl->selection.data_source = sel_source = source;
|
e_comp_wl->selection.data_source = sel_source = source;
|
||||||
e_comp_wl->clipboard.xwl_owner = 0;
|
e_comp_wl->clipboard.xwl_owner = 0;
|
||||||
source->serial = e_comp_wl->selection.serial = serial;
|
e_comp_wl->selection.serial = serial;
|
||||||
|
if (source) source->serial = serial;
|
||||||
|
|
||||||
if (e_comp_wl->kbd.enabled)
|
if (e_comp_wl->kbd.enabled)
|
||||||
focus = e_comp_wl->kbd.focus;
|
focus = e_comp_wl->kbd.focus;
|
||||||
|
|
Loading…
Reference in New Issue