The old code that query the zone based on x,y was causing me
segfaults. When battery module was in a hidden shelf, the position was
outside any zone and then segmentation fault.
As far as I understand, gcc->gadcon->zone should always exist and
always be correct, but I don't have xinerama setup now to confirm
that.
If you know this is wrong, let me know!
SVN revision: 41147
Here's another patch I've made for efm2 to fix an issue that I've
often experienced using it (in Illume) with a touch-screen
device (Freerunner). It often happens a very strange thing: I
try to finger-scroll a bottom icon (it must be on the latest row)
moving my thumb up, well... The the scroller doesn't scroll, but
wherever and whenever I release my finger, the selected icon is
executed!
I don't really know to what is this due (the touchscreen seems to
perform correctly by the way), but I've never been able to
replicate it using a mouse in my PC.
Anyway to fix this issue, that could be specific, I've used a
workaround that I think that could be applied for all: it
basically checks if the mouse has been released in the area where
the clicked icon is, before sending a "selected" callback.
It needs the previously attached
e_fm2-single-click-delay-support.patch to be applied correctly.
Going deeply into the real issue I've made some tests, and I got
that this seems mostly due to an evas issue (I figure), since the
e_fm2's scrollframe never sets the evas event flag to:
EVAS_EVENT_FLAG_ON_HOLD
(that would avoid the un-wanted click).
After some debugging there, I've also seen that in this very
particular buggy case the _e_smart_event_mouse_up() and
_e_smart_event_mouse_move() callback functions are never
called (so I figure that evas doesn't add the callbacks at all
for the scrollframe, while they are added in the e_fm2).
Let me know what you think about this... I thing that the Om
users would need a fix like this.
By: Marco Trevisan (Treviño)
SVN revision: 41129
Use the e_fm2 single_click_delay option in illume's e_fm2 to allow to
configure, from the launcher settings, a click delay to prevent
un-wanted clicks.
I've added a slider to configure the delay from the settings (also if it
has some issues, check the code comments and let me know if should be
redesigned). The default value is set to 120 ms, but it works great too
for lower values.
By: Marco Trevisan (Treviño)
SVN revision: 41128
avoiding the un-wanted clicks with touch-screen devices (especially if
they aren't so precise); it basically allows to set a time delay to be
awaited (pressing over an icon) before sending a "selected" callback.
Thanks to this, it could be needed a longer pressure to select an item
in the file-manager; useful for embedded/touch-based systems.
By: Marco Trevisan (Treviño)
SVN revision: 41127
This bug was showing when fast toggling between advanced<->basic in
config dialogs.
Note, however, that there are a remaining alien bug with fast
toggling. It's aborting due adding evas object as member of another
from other canvas, which is not allowed. I tried to debug it and it's
REALLY weird, the advanced or basic create_widgets() are being called
twice, from inside the same function, like if the create_widgets() was
calling itself, but the code do not do that, I traced some that would
happen from e_widget_button_add()!!! Like if we had threads of were
being preempted from nowhere, really strange... seems like a stack
corruption :-(
SVN revision: 41038
as spotted by manio, toggling between "Basic" and "Advanced" mode was
making the window move (just open Theme dialog and toggle).
Manio suggested a fix by keeping window center between both modes, but
I think that given our top-left to bottom-right reading (LTR) we
better keep the title bar (x,y) intact and avoid full rescan. This can
be weird in small screens where the dialog will not be centered
anymore and that will show easily, but on regular screens this should
not be an issue.
Also spotted that it was wrong when trying to avoid window overflow
(using x instead of y).
PS: I wonder why we destroy and create the window all over again! This
is really annoying, title bar will show the focus animation and you
get lost (need to rescan it again).
SVN revision: 41004
if an executable returns non-zero a dialog will be present with
information, if it was a .desktop file, then it would use the "Name"
field to name the log and all.
However, the .desktop reference was deleted and the dialog would use a
bogus pointer. Now we take a reference insidethe dialog and just
release it on dialog deletion.
Found by manio, fix by me.
SVN revision: 40987
Avoid case where e_exec (and possible others) gives
e_util_filename_escape() a NULL parameter, actually another bug, but
does not hurt to safe guard this one.
By: manio
SVN revision: 40979
do not crash if user request a tab but efm is not using toolbars (ie:
nav, path).
It is still producing weird results when create more than one tab.
SVN revision: 40945
for quick commands (i call couple of short-named shell scripts) it was
easy to trigger the situation where timer expired after popup was gone
and E got a segv by accessing popup == NULL.
SVN revision: 40932
1. Added E_FM_OP_EJECT command to e_fm_main. It unmounts volume
before eject, if it necessary.
2. Added timeouts of mounting/unmounting/ejecting media, and
it's moved to slave e_fm_main.c. Each timeout will generate
*_MOUNT_ERROR, *_UNMOUNT_ERROR and *_EJECT_ERROR message.
3. Added auto mount on insert media and auto showing efm2 window
on mount volume options to filemanager config.
4. Added mounted/unmounted glyphs to efm2 icons and track state
code. Now each removable device have "M" glyph on icon if mounted
and "U" when unmounted.
5. Added mount/unmount/eject commands to icon dropdown menu.
6. Russian translation of mew messages.
7. Other bugfixes and improvements for co-operation.
Now, efm2 contains all code to mount/umnount/eject removable media and
all code to provide corresponding user interface.
It can working independently from 'places' or co-operate with it.
By: Sergey Semernin
SVN revision: 40928
I found strange behavior in my configuration (xinerama - two screens
with two zones). When i select a Enlightenment->Restart from menu the
popups for gadgets on desktop doesn't appear or appear wrongly. After
some time i've found that this depends on on from what screen i am
choosing this enlightenment->restart :)
After some debugging i figured it out:
When restarting enlightenment some gadgets (i.e. calendar) are calling
e_gadgon_popup_new(). Inside that function, zone for popup window
(this zone was used later in ecore_evas_move_resize) is calculated
like that:
{{{
zone = e_util_zone_current_get(e_manager_current_get());
and in e_manager_current_get is: ecore_x_pointer_xy_get()
}}}
... so - i have my answer why restaring from one screen (cursor was on
that screen) and from second screen i have different results...
In other words: during initializing module like calendar - created
zone for popup is assigned depending on current cursor position.
In my patch i've chage this to obtain zone using the gadget position
instead. But it solves the problem partialy.
Next thing - in function:
e_gadget_popup_show() (which is called later) when calculating popup
position coordinates was calculated using zone:
{{{
pop->gcc->gadcon->zone
}}}
which in my case was always the first (initial) zone - (of course it
was wrong, because i put a gadgets on different screens for testing).
so i changed it to zone of popup window (which was calculated before,
in e_gadgon_popup_new()) and after that everythings works ok :) Zones
for popups are correctly assigned and popups calculation are also ok -
even after restaring enlightenment (tested with cursor on both
screens).
By: manio
SVN revision: 40927
Run Command (module exebuf in e) was acting strange for me. I
have .desktops for Firefox and Firefox - Safe mode (well, at least a
menu entries for them), and when I entered "firefox" in the input box,
and choose the command "firefox" from the list under the input field,
exebuf was starting Firefox - Safe Mode (it was the only one showed in
the upper list - "Firefox" was not listed there).
This patch fixes it (the lower selected, upper started problem, not the
"Firefox" is not there one) for me.
By: Tomasz Kontusz
SVN revision: 40926
* fix the way AC_INIT macros are parsed to consider [] as well.
* set both LDFLAGS and CFLAGS on the libs I use and I know support -fvisibility=hidden.
SVN revision: 40838