Commit Graph

28229 Commits

Author SHA1 Message Date
Adrien Nader e9e61718d1 ecore_exe_win32: CreateProcess was called with random flags.
CreateProcess() has a flags parameter which is being passed
"run_pri | CREATE_SUSPENDED".

The issue lies in the value of run_pri. It is best explained by the
following code somewhere else in the file:

   switch (run_pri)
     {
      case IDLE_PRIORITY_CLASS:
        return ECORE_EXE_WIN32_PRIORITY_IDLE;

The run_pri variable is supposed to store a value from the win32 API while
it was used to store one from the ecore API.

If I recall correctly, the windows one is equal to 32 and the ecore one to
9999. Meaning 9999 ended up used as flags so let's have a look at what that
actually enabled; the reference is "Process Creation Flags" from MSDN
http://msdn.microsoft.com/en-us/library/ms684863%28v=vs.85%29.aspx .

9999 gives 0x0000270F and this matches
  DEBUG_PROCESS | DETACHED_PROCESS | DEBUG_ONLY_THIS_PROCESS
  | CREATE_SUSPENDED | CREATE_NEW_PROCESS_GROUP | CREATE_SEPARATE_WOW_VDM
  | CREATE_UNICODE_ENVIRONMENT | <0x00002000 matches nothing>

Matches nothing? Weird. Well, maybe. Except that I stumbled upon this define
in the mingw-w64 headers:
  #define CREATE_FORCEDOS 0x2000

Mingw-w64 only has a #define, Wine has nothing (they don't do DOS anyway),
but ReactOS has some code about it:
  https://git.reactos.org/?p=reactos.git;a=blob;f=reactos/dll/win32/kernel32/client/proc.c;hb=f60941f8dc775427af04eb0a3c3e4d38160c7641#l3007

Overall the actual set of flags probably made very little sense and wasn't
working very well. :)

I also noticed the following in the mingw-w64 headers:
  #define INHERIT_CALLER_PRIORITY 0x20000

This should be a better match for what seemed to be the original intent of
inheriting the priority. I haven't tested it and it's only documented on
MSDN for Windows CE and similar so I'm really not sure about what it does.

MSDN however mentions that the child processes will have at most the
"normal" priority by default (same as its parent if the parent has less
than the default one) but I'm under the impression a process can raise its
own priority level... Anyway, "NORMAL_PRIORITY_CLASS" will do for now.

With this change and a couple others, elementary's theme builds properly
on Windows (_on_ Windows). I'll assess the usefulness of the other changes
in my tree over the next few days.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-25 16:42:00 +02:00
Stefan Schmidt a67feee6ec ecore_evas: Add since tag to new ecore_evas_gl_drm_new() function 2014-10-24 14:43:27 +02:00
Stefan Schmidt 3f0e3d1804 ecore-wayland: Add since tag to new ecore_wl_window_xdg_surface_get() function 2014-10-24 14:43:27 +02:00
Chris Michael b7e959c715 evas-gl-drm: Fix initialization from incompatible pointer type
Summary: The function prototype for eng_context_create has recently
changed in gl_common, however nobody thought it wise to update all
engines using it, so this commit fixes the function for the gl_drm
engine.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-24 08:37:51 -04:00
Stefan Schmidt b050a1890e eina_cxx: Include newly added header to unbreak make distcheck 2014-10-24 13:02:07 +02:00
Felipe Magno de Almeida 8240676b01 [eina-cxx] Fixed EFL_CXX_THROW not defined
Fixed errors of EFL_CXX_THROW not defined when #include'ing specific
eina C++ headers.
2014-10-23 18:06:13 -02:00
Felipe Magno de Almeida 7acdf2b1dd [cxx] Fixed eina::value get for string
The get function for string in eina::value wronfully was freeing the
string returned from eina_value_get. Which crashed applications that
used it.
2014-10-23 17:39:12 -02:00
Srivardhan Hebbar 8004a794b1 ecore_wayland: Making _ecore_wl_shutdown return int instead of EINA_BOOL.
Summary:
_ecore_wl_shutdown should return int instead of EINA_BOOL. So changing the function prototype.

@fix

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1574
2014-10-23 10:41:06 -04:00
Chris Michael f2bcb7d50e ecore-wayland: Add error message for calling shutdown without calling
init

Summary: If someone calls ecore_wayland_shutdown without first calling
ecore_wl_init, then the init count is wrong. Warn the caller.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-23 10:33:40 -04:00
Chris Michael 3341692acf ecore-drm: Add error message for calling shutdown without calling init
first.

Summary: If someone calls ecore_drm_shutdown without first calling
ecore_drm_init, then the init count is wrong. Warn the caller.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-23 10:32:59 -04:00
Stefan Schmidt 2409805f05 Revert "tests/eina: Enable eina_condition_timedwait() now that it should work."
This has to work until we really fixed up eina_condition_timedwait()

This reverts commit 5c9024424f.
2014-10-23 15:13:20 +02:00
Stefan Schmidt 4091b4824d Revert "eina: Fix _timedwait to handle the given timeout on top of the absolute time"
Not ready yet as it uses _eina_time_get which is internal only right now. Compiling
works fine for efl alone as the private header is in teh include search part but it
blows up when compiling elementary.

Need to think a bit more about this. Maybe exposing _eina_time_get as API but that
should wait until after the release.

This reverts commit f0a02a92be.
2014-10-23 15:12:55 +02:00
Srivardhan Hebbar 7b1f4c09b9 ecore_drm: Making _ecore_drm_init_count not to go below zero in _ecore_drm_shutdown.
Summary:
If _ecore_drm_init_count goes below zero, then when next time ecore_drm_init is called, it won't do the initializations which it is supposed to do. So preventing this scenario by not making it go
below zero in _ecore_wl_shutdown function.

@fix

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1573
2014-10-23 09:04:55 -04:00
Srivardhan Hebbar 005cdf359d ecore_wayland: Making _ecore_wl_init_count not to go below zero in shutdown.
Summary:
If _ecore_wl_init_count goes below zero, then there would be problem if someone calls ecore_wl_shutdown 1st and then ecore_wl_init later. So fixing this issue in ecore_wl_shutdown.

@fix

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1571
2014-10-23 09:02:47 -04:00
vivek cd1bc17c1b ecore-drm: Added documentation for various APIs in ecore_drm_output module
Summary:
Added documentation for ecore_drm_outputs_create, ecore_drm_output_free,
ecore_drm_output_cursor_size_set, ecore_drm_output_size_get functions

@fix

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1572
2014-10-23 08:52:43 -04:00
Stefan Schmidt e72c446c8f evas/cserve2_slave: Fix build race with linking to eo but not depending on it.
I have not been able to reproduce this myself but I have seen a build log where
the binary tries to link to libeo and fails due to the missing file.
A similar problem was "fixed" in 0e4b847deb, but
this really makes me wonder where the linking against eo comes from for cserve2
which is not using eo as far as I can see.
2014-10-23 14:45:07 +02:00
kabeer khan 5289a4375d Eina Test : Added test case for convert float in eina_test_value
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: cedric, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1567
2014-10-23 08:34:14 -04:00
vivek 0446fd2d7f ecore-drm: Added documentation for various APIs in ecore_drm_device module
Summary:
Added documentation for ecore_drm_device_fd_get, ecore_drm_device_window_set
and ecore_drm_device_name_get APIs in ecore_drm_device module.

@fix

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1568
2014-10-23 08:31:47 -04:00
Chris Michael dae6bcb62d ecore-drm: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-23 08:28:56 -04:00
vivek 221c79dc87 ecore-drm: Cleanup backlight and drm device in output_free function code
Summary:
Added code to cleanup backlight structure and to close the drm device and
delete it.

@fix

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1566
2014-10-23 08:28:45 -04:00
Stefan Schmidt 03ca51abe7 eina: Add a note about potential use of CLOCK_MONOTONIC
Note it down so we can think about this at some later point.
2014-10-23 11:12:00 +02:00
Stefan Schmidt 5c9024424f tests/eina: Enable eina_condition_timedwait() now that it should work. 2014-10-23 11:09:55 +02:00
Stefan Schmidt f0a02a92be eina: Fix _timedwait to handle the given timeout on top of the absolute time
The pthread man page clearly states that pthread_cond_timedwait() takes an
absolute time parameter. So far we always passed it epoch plus timeout in
seconds. This would never trigger the timeout.

Making sure we fill out timespec struct with the current time before adding
the timeout as offset now. Also handling the t < 0 error case.

Various version worked up together with Jean-Philippe Andre <jp.andre@samsung.com>

Fixes T1701
2014-10-23 11:01:35 +02:00
Cedric BAIL fb8087b0a7 eet: shutup stupid compiler warning. 2014-10-22 22:30:29 +02:00
Chris Michael b41867cd77 evas-gl-drm: Cleanup formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-22 09:24:14 -04:00
Chris Michael bab8379248 ecore-drm: Check for valid crtc before calling free
Summary: We cannot call drmModeFreeCrtc with an invalid crtc, so check
that it is set inside the output structure before trying to make this
call

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-22 09:24:14 -04:00
Chris Michael 826d6f1bc2 ecore-drm: Cleanup/Unify output_free function code
Summary: There is no point in having different code in each output
free function (internal one and API exposed one), so let's unify the
code here.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-22 09:24:14 -04:00
Stefan Schmidt 263a04b6dd emotion: Add wma as possible playable extension
This allows to preview (listen) a wma file in efm for example.

Fixes T1568
2014-10-22 15:12:41 +02:00
Cedric BAIL 5c8a8a51ce evas: tests only for extension compiled in. 2014-10-22 14:15:32 +02:00
vivek 2a9272333f ecore_drm: Added internal function to check if drm device is hotplug device
Summary:
Added _ecore_drm_output_device_is_hotplug API to check if the
drm device is hotplug device. It returns EINA_TRUE if device is
hotplug else returns EINA_FALSE

@feature

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1559
2014-10-22 08:14:42 -04:00
Tom Hacohen e1c0928ea3 Eo id: Add regression tests to eo id sanity checks
Relevant commit: 0b86334a85
2014-10-22 11:43:45 +01:00
Tom Hacohen 0b86334a85 Eo id: Fix id security checks for invalid objects.
In some cases, invalid object ids (e.g 0x1) would pass validation and
represent completely different objects (0x80...01). This happened because
we weren't properly checking a given object id is actually an object id.

@fix.
2014-10-22 11:31:10 +01:00
Jean-Philippe Andre 52135379df Eina: Check for errors after eina_tls_new
Fix CID 1248913.
2014-10-22 15:52:46 +09:00
Jean-Philippe Andre 7db01ea396 Evas filters: Remove useless source_count and cow checks 2014-10-22 14:27:50 +09:00
Jean-Philippe Andre b5ccb00ba7 Evas filters: Feed some cow to the image objects
Same as for the text objects.
Fixes T1725.

Cedric, please run again your memory test, please.
2014-10-22 13:00:20 +09:00
Jean-Philippe Andre 6935880171 Evas filters: Move filter COW to evas global stuff
It will be shared between TEXT and IMAGE objects.
2014-10-22 11:14:09 +09:00
Jean-Philippe Andre 9364083b44 Evas filters: Use a cow to reduce memory usage of text objects
As pointed out by Cedric, the memory usage of basic evas objects
has increased a lot in recent versions of EFL, in part due
to this excessive use of filters data.

This is a partial fix for ticket 1725.
2014-10-22 11:01:40 +09:00
Jean-Philippe Andre d4eb07b4bb Evas GL: Don't pass shared context for GLX with 1.1 API
Not sure if this is very relevant, since GLX does not support
GL-ES as such, anyways... We should be using the extension
GLX_EXT_create_context_es_profile to create proper contexts.

Note: GLX + OpenGL-ES 1.1 crashes at any function call on my
machine (binary bloc driver), while EGL + GLES1.1 is fine.
2014-10-22 10:44:06 +09:00
Jean-Philippe Andre 549cbbcfb2 Evas GL: Remove useless #ifdef/#endif 2014-10-22 08:43:28 +09:00
Jean-Philippe Andre 25575ddf8d Evas GL: Fix unused variable
CID 1248912
2014-10-22 08:25:21 +09:00
Pierre Le Magourou ebaba7f20a eldbus: Fix wrong comments. 2014-10-21 23:42:03 +02:00
Cedric BAIL 2e1ff6550e evas: let's handle dds also during tests properly. 2014-10-21 23:42:03 +02:00
Cedric BAIL f7e07b4914 evas: tests more file format loader.
NOTE: It seems that the xpm one is broken. If somebody could give it
a better look and check if it work for him or not, before opening a bug
in phab.
2014-10-21 23:42:03 +02:00
Cedric BAIL 8606eed0f5 evas: don't redefine macro in tgv saver. 2014-10-21 23:42:03 +02:00
Stefan Schmidt 9edbc7e7bc release: Update NEWS and bump version for 1.12.0-alpha1 release 2014-10-21 16:39:30 +02:00
Stefan Schmidt 5271ba069e tests/eolian: Move eo to EXTRA_DIST assignment out of the EFL_ENABLE_TESTS case
When running distcheck with release mode enabled these would not end up in the
tarball. Better make sure these always end up at the right place.
2014-10-21 15:43:01 +02:00
Chris Michael 4078e0af9b evas-wayland-egl: Fix function prototype for eng_context_create
Summary: Apparently, somewhere down the line, the function prototype
for eng_context_create was changed in the EVGL_Interface, but nobody
decided to fix All engines. This commit fixes the function prototype
for evgl_eng_context_create

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-21 09:40:32 -04:00
Andrii Kroitor ef9cf8b78d evas: Evas_Box - layout_flow_horizontal and layout_flow_vertical fix
Summary:
Now minimum width hint (for horizontal layout) and minimum height hint (for vertical)
are set to largest item size rather than largest row/column.

@fix

Test Plan:
1. Run "elementary_test"
2. Maximize window
3. Unmaximize it
ExR: button boxes should return to start state.

Reviewers: cedric, seoz, Hermet

Subscribers: cedric, reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D1511

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-21 14:44:15 +02:00
Srivardhan Hebbar 46d3d38e3c ecore_wayland: Added test case to check ecore_wl_init by passing socket name.
Summary:
Added a test case for ecore_wayland to test ecore_wl_init by passing the socket name. Wayland display is created and a socket is added to the display, then this socket is passed to ecore_wl_init to connect. It should successfully connect. Then
ecore_wl_shutdown is called to verify if it closes.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1560
2014-10-21 08:34:46 -04:00
Chris Michael 8549ee799a ecore-drm: Create udev watch for each output, and delete the watch
when we free the output.

Summary: This commit fixes an issue where a hotplug watch was Only
being added for One input, and also deletes any created watch during
output_free.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-21 08:26:25 -04:00