This bug was showing when fast toggling between advanced<->basic in
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
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
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
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:
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
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
if e_modapi_init() called e_gadcon_provider_register() the module
gc_init() would be called immediately, becore e_modapi_init() finished
and thus mod->data was unset (it's set by E when that function
most modules did not show this problem since they keep lots of globals
around and use them, but not mixer module. Mixer module did check for
global mixer_mod to be set and also mixer_mod->data, thus exposed this
problem, with "mixer is not able to show on desktop/gadget" but did in
shelves, since it would refuse to load immediately but would be loaded
later at e_shelf_config_new()->e_gadcon_populate().
Now gadcons are populated from an idler, avoiding all these problems
and probably will impact user's perceived load time since it will do
less work before getting to main loop and being able to process
SVN revision: 40714
Now, when "open dirs in place" is active and user haven't permission to
open dir, efm2 fallback to parent directory. Also other events (for ex.
on dirs opened in efm will cause go to it's parents in efm windows.
Patch to ticket #273.
By Sergey Semernin.
SVN revision: 40711