Compare commits

...

8 Commits

Author SHA1 Message Date
Marcel Hollerbach 455a4544e8 efl_ui_dnd: cleanup when backend failed to create dnd op
this is needed to not have a dead window on the screen.

Differential Revision: https://phab.enlightenment.org/D11654
2020-04-07 10:17:01 +02:00
Marcel Hollerbach 697f46fa76 ecore_evas_cocoa: be aware of NULL data
this will now result in the promise beeing rejected.

Differential Revision: https://phab.enlightenment.org/D11653
2020-04-07 10:14:01 +02:00
Marcel Hollerbach bf000ca942 meson: do no build upower on macos
this is just causing errors and nothing usefull, upower is not available
on macos.

Differential Revision: https://phab.enlightenment.org/D11652
2020-04-07 10:14:01 +02:00
Marcel Hollerbach 517e21862d meson: build modules on macos as .so
this is needed in order to support ecore-evas loading of .so modules

Differential Revision: https://phab.enlightenment.org/D11651
2020-04-07 10:14:01 +02:00
Marcel Hollerbach 30a7446d9c meson: support unified suffixes for modules
A long story in a few words: sometimes on macos modules will be compiled
into .dylib, sometimes, into .so suffix. We did not set the suffix
everywhere in our meson build instructions, hence our suffixes have been
differently, which resulted in random load fails on different maschines.

With this commit, we ensure that we suffix all modules the same way.

Differential Revision: https://phab.enlightenment.org/D11650
2020-04-07 10:14:01 +02:00
Mike Blumenkrantz 7543db4d3c ci: force system zlib on osx
osx doesn't ship a pkgconfig file for its own zlib, so now we're shipping
a pkgconfig file for their zlib to avoid future issues

Differential Revision: https://phab.enlightenment.org/D11661
2020-04-07 10:14:01 +02:00
Marcel Hollerbach 5c366682b3 evas: prepare for cur beeing NULL
debug name could be called during any time, even before the constructor,
of this super class is hit. So cur can be NULL here.

Differential Revision: https://phab.enlightenment.org/D11659
2020-04-06 16:33:44 +02:00
Marcel Hollerbach 54307409db eo: only prepare a empty node
do not take over complete vtables.
This might fix wrong vtable settings when a type is not in the
inheritance of another type, but the function is implemented.

Differential Revision: https://phab.enlightenment.org/D11657
2020-04-06 16:33:44 +02:00
30 changed files with 76 additions and 26 deletions

View File

@ -94,8 +94,11 @@ elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export CFLAGS="-I/usr/local/opt/openssl/include -frewrite-includes $CFLAGS"
export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
LIBFFI_VER=$(brew list --versions libffi|head -n1|cut -d' ' -f2)
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:/usr/local/Cellar/libffi/$LIBFFI_VER/lib/pkgconfig"
export CC="ccache gcc"
#force using system zlib, which doesn't have a pc file provided because that's the smartest thing possible
zlib_vers=$(grep ZLIB_VERSION /usr/include/zlib.h|head -n1|awk '{print $3}'|cut -d'"' -f2)
sed -iE "s/REPLACE_THIS/$zlib_vers/" .ci/zlib.pc
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:/usr/local/Cellar/libffi/$LIBFFI_VER/lib/pkgconfig:$(pwd)/.ci"
travis_fold meson meson
mkdir build && meson build -Dopengl=full -Decore-imf-loaders-disabler=scim,ibus -Dx11=false -Davahi=false -Deeze=false -Dsystemd=false -Dnls=false -Dcocoa=true -Dgstreamer=false
travis_endfold meson

13
.ci/zlib.pc Normal file
View File

@ -0,0 +1,13 @@
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib64
sharedlibdir=${libdir}
includedir=/usr/include
Name: zlib
Description: zlib compression library
Version: REPLACE_THIS
Requires:
Libs: -L${libdir} -L${sharedlibdir} -lz
Cflags: -I${includedir}

View File

@ -205,7 +205,7 @@ elif sys_windows == true
elif sys_osx == true
sys_lib_extension = 'dylib'
sys_exe_extension = ''
sys_mod_extension = 'dylib'
sys_mod_extension = 'so'
config_h.set('environ', '(*_NSGetEnviron())')
else
error('System '+host_machine.system()+' not known')

View File

@ -46,5 +46,6 @@ ecore_systemd_mod = shared_module('elementary',
install: true,
install_dir: mod_install_dir,
c_args : elm_package_c_args,
name_suffix : sys_mod_extension
)
module_files += join_paths(mod_install_dir, 'libelementary.' + sys_mod_extension)

View File

@ -3,6 +3,7 @@ ecore_systemd_mod = shared_module('emotion',
dependencies: [edje, emotion],
install: true,
install_dir: mod_install_dir,
c_args : emotion_package_c_args
c_args : emotion_package_c_args,
name_suffix : sys_mod_extension
)
module_files += join_paths(mod_install_dir, 'libemotion.' + sys_mod_extension)

View File

@ -49,11 +49,17 @@ _efl_ui_dnd_drag_start(Eo *obj, Efl_Ui_Dnd_Data *pd, Eina_Content *content, cons
elm_win_borderless_set(drag_win, EINA_TRUE);
drag_ee = ecore_evas_ecore_evas_get(evas_object_evas_get(drag_win));
ecore_evas_drag_start(pd->ee, seat, content, drag_ee, action, _ecore_evas_drag_terminated, start);
evas_object_show(drag_win);
efl_event_callback_call(obj, EFL_UI_DND_EVENT_DRAG_STARTED, &ev);
if (!ecore_evas_drag_start(pd->ee, seat, content, drag_ee, action, _ecore_evas_drag_terminated, start))
{
efl_del(drag_win);
free(start);
drag_win = NULL;
}
else
{
evas_object_show(drag_win);
efl_event_callback_call(obj, EFL_UI_DND_EVENT_DRAG_STARTED, &ev);
}
return drag_win;
}

View File

@ -966,7 +966,7 @@ efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *object_
else
{
ERR("There is an API implemented, whoms type is not part of this class. %s vs. %s", klass->desc->name, required_klass->desc->name);
_vtable_take_over(&klass->vtable, &required_klass->vtable);
_vtable_prepare_empty_node(&klass->vtable, required_klass->vtable.chain[class_id].count, class_id);
hitmap[class_id] = EINA_TRUE;
}

View File

@ -74,7 +74,11 @@ _efl_canvas_object_efl_object_debug_name_override(Eo *eo_obj, Evas_Object_Protec
const char *clip = obj->clip.clipees ? ":clipper" : "";
efl_debug_name_override(efl_super(eo_obj, EFL_CANVAS_OBJECT_CLASS), sb);
if (obj->cur->visible)
if (!obj->cur)
{
eina_strbuf_append_printf(sb, ":nostate");
}
else if (obj->cur->visible)
{
eina_strbuf_append_printf(sb, "%s%s:(%d,%d %dx%d)", norend, clip,
obj->cur->geometry.x, obj->cur->geometry.y,

View File

@ -1,5 +1,5 @@
if sys_windows == false
if sys_windows == false and sys_osx == false
system_modules = [
'systemd',

View File

@ -4,6 +4,7 @@ if get_option('systemd')
dependencies: [ecore, eldbus],
install: true,
install_dir: mod_install_dir,
name_suffix : sys_mod_extension
)
module_files += join_paths(mod_install_dir, 'libsystemd.' + sys_mod_extension)
endif

View File

@ -3,5 +3,6 @@ ecore_systemd_mod = shared_module('tizen',
dependencies: [ecore, eldbus],
install: true,
install_dir: mod_install_dir,
name_suffix : sys_mod_extension
)
module_files += join_paths(mod_install_dir, 'libtizen.' + sys_mod_extension)

View File

@ -3,5 +3,6 @@ ecore_systemd_mod = shared_module('upower',
dependencies: [ecore, eldbus],
install: true,
install_dir: mod_install_dir,
name_suffix : sys_mod_extension
)
module_files += join_paths(mod_install_dir, 'libupower.' + sys_mod_extension)

View File

@ -3,5 +3,6 @@ ecore_buffer_shm_mod = shared_module('module',
name_prefix: '',
dependencies: [ecore, ecore_buffer],
install: true,
install_dir: join_paths(dir_lib, 'ecore_buffer', 'modules', 'shm', version_name)
install_dir: join_paths(dir_lib, 'ecore_buffer', 'modules', 'shm', version_name),
name_suffix : sys_mod_extension
)

View File

@ -3,5 +3,6 @@ ecore_buffer_x11_dri2_mod = shared_module('module',
name_prefix: '',
dependencies: [ecore, ecore_buffer, ecore_x],
install: true,
install_dir: join_paths(dir_lib, 'ecore_buffer', 'modules', 'x11_dri2', version_name)
install_dir: join_paths(dir_lib, 'ecore_buffer', 'modules', 'x11_dri2', version_name),
name_suffix : sys_mod_extension
)

View File

@ -4,6 +4,7 @@ if dependency('libtbm', required: false).found() == true and dependency('libdrm'
name_prefix: '',
dependencies: [ecore, ecore_buffer, ecore_x],
install: true,
install_dir: join_paths(dir_lib, 'ecore_buffer', 'modules', 'x11_dri3', version_name)
install_dir: join_paths(dir_lib, 'ecore_buffer', 'modules', 'x11_dri3', version_name),
name_suffix : sys_mod_extension
)
endif

View File

@ -514,10 +514,11 @@ _ecore_evas_cocoa_selection_request(Ecore_Evas *ee EINA_UNUSED, unsigned int sea
{
int size;
void *data;
Eina_Content *content;
Eina_Content *content = NULL;
Eina_Rw_Slice slice;
data = ecore_cocoa_clipboard_get(&size, mime_type);
if (eina_str_has_prefix(mime_type,"text"))
{
//ensure that we always have a \0 at the end, there is no assertion that \0 is included here.
@ -530,7 +531,8 @@ _ecore_evas_cocoa_selection_request(Ecore_Evas *ee EINA_UNUSED, unsigned int sea
slice.len = size;
slice.mem = data;
}
content = eina_content_new(eina_rw_slice_slice_get(slice), mime_type);
if (slice.mem)
content = eina_content_new(eina_rw_slice_slice_get(slice), mime_type);
free(slice.mem); //memory got duplicated in eina_content_new
if (!content) // construction can fail because of some validation reasons
eina_promise_reject(promise, ecore_evas_no_matching_type);

View File

@ -10,5 +10,6 @@ shared_module(mod_name,
mod_src,
dependencies: mod_deps,
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -15,5 +15,6 @@ shared_module(mod_name,
mod_src,
dependencies: mod_deps,
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -12,5 +12,6 @@ shared_module(mod_name,
mod_src,
dependencies: mod_deps,
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -8,5 +8,6 @@ shared_module(mod_name,
mod_src,
dependencies: mod_deps,
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -2,5 +2,6 @@ shared_module('dmabuf',
'ecore_wl2_surface_module_dmabuf.c',
dependencies: [ecore_wl2, wayland_protocol],
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -3,6 +3,7 @@ shared_module(module_name,
dependencies: [eina, eeze, ecore],
install: true,
install_dir : join_paths(dir_package_modules, 'sensor', module_name, version_name),
name_suffix : sys_mod_extension
)
module_files += join_paths(dir_package_modules, 'sensor', module_name, version_name, 'lib' + module_name + '.' + sys_lib_extension)

View File

@ -3,6 +3,7 @@ shared_module(module_name,
dependencies: [eina, eeze, ecore],
install: true,
install_dir : join_paths(dir_package_modules, 'sensor', module_name, version_name),
name_suffix : sys_mod_extension
)
module_files += join_paths(dir_package_modules, 'sensor', module_name, version_name, 'lib' + module_name + '.' + sys_lib_extension)

View File

@ -6,5 +6,6 @@ shared_module(mod,
src,
dependencies: [elementary],
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -20,5 +20,6 @@ shared_module(mod,
src,
dependencies: [elementary],
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -6,5 +6,6 @@ shared_module(mod,
src,
dependencies: [elementary],
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -6,5 +6,6 @@ shared_module(mod,
src,
dependencies: [elementary],
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)

View File

@ -6,7 +6,8 @@ shared_module('none',
src,
dependencies: [elementary, elementary_deps],
install: true,
install_dir : mod_install_dir
install_dir : mod_install_dir,
name_suffix : sys_mod_extension
)
mod = 'none'

View File

@ -22,4 +22,5 @@ shared_module(emotion_loader,
install: true,
install_dir : mod_install_dir,
c_args : package_c_args,
name_suffix : sys_mod_extension
)

View File

@ -29,4 +29,5 @@ shared_module(emotion_loader+'_el',
install: true,
install_dir : mod_install_dir,
c_args : package_c_args,
name_suffix : sys_mod_extension
)