Only take min & max properties into account if the window is not fullscreen.
Be sure to call update_size before we attach the buffer, as the buffer attach
code makes use of the allocated size to damage the surface.
Add trapping for fullscreen window in the configure callback. This
(along with coming commits) allows us to actually do fullscreen now :)
During window configure, when we check for maximized, we should check
to be sure it is not fullscreen also before adjusting window size.
SVN revision: 75293
adjust the clip size and position if something changed.
NB: Found this during final fullscreen testing where, when fullscreen,
the clip was not getting moved or resized.
SVN revision: 75291
Certain types of variadic functions use NULL as the last argument instead of a
string format (printf-like). Functions like these are: execl and execlp.
We are in feature freeze, but I believe this is small and simple enough to slip
in with no headaches. These functions are being used in the new edbus library
and it would be good to have it supported in eina now.
SVN revision: 75271
When we create the egl window we should take rotation into
consideration, so account for that. Add an 'edges' variable to the
engine info structure. This is needed so we can implement resizing
windows from the top also. Make sure to use
wl_egl_window_get_attached_size and determine the edge we are resizing
from, so we can calculate the difference in sizes to send to
wl_egl_window_resize.
Add __UNUSED__ to function paramaters where it was missing, and fix
some compiler warnings.
SVN revision: 75215
from the top when asked too (this is akin to the wayland_shm resize
fix). Also, when we update the ecore_wl_window size, we
should be sure to call the buffer attach function so that server size
allocation can be kept in sync with the window allocation.
SVN revision: 75214
now here's the rub. from the glibc manual page:
...
int memcmp(const void *s1, const void *s2, size_t n);
DESCRIPTION
The memcmp() function compares the first n bytes (each interpreted as
unsigned char) of the memory areas s1 and s2. It returns an integer
less than, equal to, or greater than zero if s1 is found, respectively,
to be less than, to match, or be greater than s2.
RETURN VALUE
The memcmp() function returns an integer less than, equal to, or
greater than zero if the first n bytes of s1 is found, respectively, to
be less than, to match, or be greater than the first n bytes of s2.
...
this explicitly says that s1 and s2 have their BYTES compared... and
then returns just some value < 0, 0 or > 0 based on the difference. what
that value is and means is not defined, as long as it is < 0, 0 or > 0.
so the C standard has this to say:
6.3.1.3 Signed and unsigned integers
2. Otherwise, if the new type is unsigned, the value is converted by
repeatedly adding or subtracting one more than the maximum value that
can be represented in the new type until the value is in the range of
the new type.
so a result of -255 (possible) is converted by REPEATEDLY adding the
max size of the new type (255) until within range... so ...
-255 + 255 = 0 ... within range.. BUT FALSE!
so why do we see this now? something changed in memcpy behavior.
before we ONLY saw values of -1, 0 or 1 - nothing else, NOW we see
thins like:
-12288
49152
4096
16384
61440
-53248
so memcpy changed behavior, though within specs of the manual page
anyway, but now the values can be ones that break the simple assignment.
SVN revision: 75159
Looks like we'll need to fix discrete dynamics world destructor
on bullet, but current revision is kind of messed.
I'll see what I can do later.
And yes, it will leak the ddw until it's fixed.
SVN revision: 75145
window at this point, so we cannot use it for comparison. Instead,
check the requested depth. Also fix best_depth_get function to not
return a hard-coded depth if a depth has been set already.
SVN revision: 75082
This commit adds support to efl applications (elm) under wayland so
that they can get key repeats. All of this is internal and does not
require the application to do anything, which means the elm test for
notepad now works with repeating keys.
SVN revision: 75037
Need to release generated file name, else we will use same filename
again when opening cache.
Also need to close cache, as a cache rebuild might not trigger cache
close if the cache in another language already exists.
SVN revision: 75020
1 textclasses were repeated per object list and (segv free same tc 2x)
2. we returend if size OR font name match - BOTH have to match to be
"the same". so && not ||
SVN revision: 74980
and also Fix Ticket #1242 where windows would resize in an incorrect
direction.
When resized an elm client application in Weston, and you grabbed the
top of the window to resize it, all resizing action was occuring from
the bottom of the window. Let's fix that ;) Now when you grab the top
of the window and resize it, it actually does resize from the top :)
SVN revision: 74933
Really ? A return at the end of a function ?? Would the function
actually return without this or would it just sit inside this function
forever ? ;) </joke>
SVN revision: 74848
the ecore_evas fullscreen code.
Previously, fullscreening was only done if the ecore_evas was visible.
This patch allows to specify an ecore_evas be fullscreen before it is
displayed.
SVN revision: 74774
was using evas' window surface to do its resource creation and it
wans't properly updated when a window is destroyed and recreated.
Also, deleted some whitespaces.
SVN revision: 74771
changed the win32 color parse to be malloc-less and also support more
colors. It should be more correct, but I have no windows machine to
test.
SVN revision: 74742
epoll does not handle reading from files since it is only a mechanism for determining whether a fd is ready for read/write/error, and regular files are always ready. as a result, we must select on them explicitly without adding to the epoll fd
I realize that this is a feature freeze, but it's rather non-invasive and this is an absolute must-have to fix mounting for e17 so...sorry!
SVN revision: 74741
edje error was a mess. First someone (maybe myself) added eina log,
then people changed it to be a mix with printf()... then they replaced
eina_log with printf() + colors so it would be less verbose.
It's fixed now! Using eina log infrastructure.
If all that is wanted is specific messages for edje_cc domain, do it
with a specific log print function (eina_log_print_cb_set()). I made
it produce messages in the format:
<levelcolor><progname>: <levelprefix><message>
Where:
- levelcolor is defined by eina_log (I hacked the win32 version,
since no public api to resolve level to color).
- levelprefix is "Error. " or "Warning. " to cope with traditional
output.
If it does not look as you wanted, let me know before stuffing some
printf() again.
Bonus point: reduced 2 global variables (progname and verbose),
removed lots of code.
SVN revision: 74701
This patch introduces the slider constraint, adds an slider constraint
test, move p2p constraint from ephysics_constraint_add to
ephysics_constraint_p2p_add migrates its usage.
Further work will migrate the btConstraint of p2p for Generic6Dof constraint
since it's flexible enough to implement most of constraints.
Patch by: Leandro Dorileo <dorileo@profusion.mobi>
SVN revision: 74699
position. Fix bug when clipping to viewport/framespace. These changes
fix Several buggers on Trac which related to the Wayland Engine(s).
Fix minor bug in evas_render where clipping for framespace would
not take into account the frame height and also move the frame clip to
the values specified in framespace (not viewport).
Fix buggers in evas_object_main which was causing objects (when created using
the wayland engines) to be an incorrect size & position (objects will now
be the same size/position in EFL Wayland as they are in X11).
Fix evas_object_geometry_get to return values based on where they were
moved (in relation to framespace). (These fixes are for the Wayland
Engines and do not affect X11).
Remove nw/nh from evas_object_resize (not needed variables anymore).
SVN revision: 74565
"current mounted status" . fstab is "stuff i WANT to mount".
secondly.. if mtab is a symlink.. pretend we arent monitoring. this
then kicks in the poll checker after mount cmd is done.
SVN revision: 74545
This patch introduces a collision filter API. Once a rigid body
has been added to some group it must just collide against rigid
bodies in the same group, if no group has been attribute it's
going to collide against any other body.
Patch by: Leandro Dorileo <dorileo@profusion.mobi>
SVN revision: 74501
This patch introduces a wrapper(EPhysics_Body_Collision) to hold
the collision data(the contact body and collision position).
This data type is used by EPHYSICS_CALLBACK_BODY_COLLISION callback. The
collision detection test is migrated to the new API as well.
Patch by: Leandro Dorileo <dorileo@profusion.mobi>
SVN revision: 74500
This patch fix a compilation warning by _ephysics_world_contact_processed_cb
not returning. Bullet doesn't care about what is returned, so this
is just a compilation warning fix.
Patch by: Leandro Dorileo <dorileo@profusion.mobi>
SVN revision: 74499
This patch introduces calls for setting the body's linear and angular
sleeping thresholds and to set the world's max sleeping time.
Patch by: Leandro Dorileo <dorileo@profusion.mobi>
SVN revision: 74498
Used to just go for the first match in the cache which means it would always
think we only have the wrong size in the cache, and it would just add
new entries all the time.
SVN revision: 74435
Subject: [E-devel] [PATCH]Evas.h comments patch
When reading the comments of 'evas_object_textgrid_update_add' I
noticed
a little cnp err. The enclosed patch is just a suggestion, but the
misleading comment was driving me nuts...
SVN revision: 74331
wayland_egl engine caused by windows being hidden:
From: Rob Bradford <rob@linux.intel.com>
Date: Fri, 13 Jul 2012 19:13:12 +0100
Subject: [PATCH] evas(wayland_egl): Resolve a series of segfaults on
clean-up
The first was that when a window was being hidden the render engine
(e->engine.data.output) was being assigned to NULL (like on an error
path). I
checked other backends and they only free and nullify this pointer on
error
paths. By doing it on a hide it was interfering with cleanup process
for the
object.
This then highlighted a second crash from the derefence of the window
to NULL
when flushing the cache. If the window was hidden this window pointer
would
be NULL.
The third it highlighted was a duplicate call into
evas_gl_common_image_free
and the freeing of the image cache twice. By the time eng_image_free
has been
called the cache has already been freed so we can remove the duplicate
free.
SVN revision: 74330
From: Alex Wu <zhiwen.wu@linux.intel.com>
When calling elm_win_alpha_set(), the global EGLContext object keep
unchanged, but the new EGLSurface object subjects to the new EGLConfig
with changed alpha_size. This makes eng_window_new() failed and hence
free the Render_Engine object (e->engine.data.output) and nullize it.
Next time other objects reference the output, segfault occurs.
In this patch, I give every Evas_GL_Wl_Window object a EGLContext object
and all these EGLContext objects share the same shader program objects.
A new global EGLContext object "share_context" added, which is
responsible for keeping the shared objects alive. e.g. shader program
objects.At the first time succeeded to create a EGLContext, assign it to
the "share_context", and should not destory it in eng_window_free.
The "share_context" will be taken as the 3rd argument when calling
eglCreateContext(), and then updated to the new created EGLContext to
keep the shared gl objects available.
Thanks for devilhorns' review and suggestion.
SVN revision: 74328
The arguments for image_map_draw changed, and these engines were receiving
the wrong data. In the case of gl_cocoa and gl_sdl, the gl_common would
receive a pointer for 'npoints' and would call abort() because npoints
is not 4.
SVN revision: 74321
* src/lib/dlfcn/Makefile.am:
work around a problem with libtool and the creation
of the DLL. libtool developpers should be impaled.
SVN revision: 74285
to do that.
2. just use regular ecore-con naming of the socket. it will handle if
someone else has it. no need to do tmpdir and filename stuff by hand.
SVN revision: 74261