I'm fine with removing it if you really think that.
I only added it because it's a code path that doesn't run unless you
activate it, and that it's not a feature per se.

I know it's problematic, and I guess, that if I had seen someone else's
code that does something similar I might have objected.

So let's see what other people think as well.

--
Tom.


On Fri, Aug 30, 2013 at 6:03 PM, Rafael Antognolli <antogno...@gmail.com>wrote:

> I think it will create a precedence!
>
> On Fri, Aug 30, 2013 at 12:48 PM, Tom Hacohen <tom.haco...@samsung.com>
> wrote:
> > I think it's fine for 1.7, but let me know if you think it's too much of
> > a feature and that can hurt stability. It's only activated if the
> > environment variable is set, so I don't see much harm.
> >
> > --
> > Tom.
> >
> > On 30/08/13 16:41, Tom 'TAsn' Hacohen - Enlightenment Git wrote:
> >> tasn pushed a commit to branch elementary-1.7.
> >>
> >> commit 49a3f7ee22b6ddf0869a6ba82660308c3f4d0bbd
> >> Author: Tom 'TAsn' Hacohen <t...@stosb.com>
> >> Date:   Fri Aug 30 16:39:51 2013 +0100
> >>
> >>      Added clouseau integration.
> >>
> >>      You need to make sure the clouseau daemon is running (clouseaud),
> and then
> >>      you can just run applications by setting the env var ELM_CLOUSEAU
> to 1.
> >>      This is very useful for platforms that do not have LD_PRELOAD, or
> block
> >>      them for any reason.
> >>      Most people should just stick to using clouseau_start or clouseau.
> >> ---
> >>   ChangeLog          |  5 ++++
> >>   NEWS               |  3 +++
> >>   src/lib/elm_main.c | 72
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >>   3 files changed, 80 insertions(+)
> >>
> >> diff --git a/ChangeLog b/ChangeLog
> >> index bdfa90e..29ce358 100644
> >> --- a/ChangeLog
> >> +++ b/ChangeLog
> >> @@ -840,3 +840,8 @@
> >>   2013-08-02  Eduardo Lima (Etrunko)
> >>
> >>           * 1.7.8 release
> >> +
> >> +2013-08-30  Tom Hacohen (TAsn)
> >> +
> >> +     * Clouseau: Added clouseau integration.
> >> +
> >> diff --git a/NEWS b/NEWS
> >> index 21c2a59..6866407 100644
> >> --- a/NEWS
> >> +++ b/NEWS
> >> @@ -3,6 +3,9 @@ Elementary 1.7.8
> >>   Changes since Elementary 1.7.7:
> >>   -------------------------
> >>
> >> +Improvements:
> >> +   * Clouseau: Added clouseau integration.
> >> +
> >>   Fixes:
> >>
> >>      * Fix potential free'ed memory dereference in naviframe.
> >> diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
> >> index 1a09663..81e6103 100644
> >> --- a/src/lib/elm_main.c
> >> +++ b/src/lib/elm_main.c
> >> @@ -23,6 +23,12 @@
> >>
> >>   #define SEMI_BROKEN_QUICKLAUNCH 1
> >>
> >> +#ifdef __CYGWIN__
> >> +# define LIBEXT ".dll"
> >> +#else
> >> +# define LIBEXT ".so"
> >> +#endif
> >> +
> >>   static Elm_Version _version = { VMAJ, VMIN, VMIC, VREV };
> >>   EAPI Elm_Version *elm_version = &_version;
> >>
> >> @@ -198,6 +204,55 @@ _prefix_shutdown(void)
> >>      app_pfx = NULL;
> >>   }
> >>
> >> +static struct {
> >> +     Eina_Module *handle;
> >> +     void (*init)(void);
> >> +     void (*shutdown)(void);
> >> +     Eina_Bool (*app_connect)(const char *appname);
> >> +} _clouseau_info;
> >> +
> >> +#define _CLOUSEAU_LOAD_SYMBOL(cls_struct, sym) \
> >> +   do \
> >> +     { \
> >> +        (cls_struct).sym = eina_module_symbol_get((cls_struct).handle,
> "clouseau_" #sym); \
> >> +        if (!(cls_struct).sym) \
> >> +          { \
> >> +             WRN("Failed loading symbol '%s' from the clouseau
> library.", "clouseau_" #sym); \
> >> +             eina_module_free((cls_struct).handle); \
> >> +             (cls_struct).handle = NULL; \
> >> +             return EINA_FALSE; \
> >> +          } \
> >> +     } \
> >> +   while (0)
> >> +
> >> +static Eina_Bool
> >> +_clouseau_module_load()
> >> +{
> >> +   const char *elm_clouseau_env = getenv("ELM_CLOUSEAU");
> >> +   Eina_Bool want_cls = EINA_FALSE;
> >> +   if (elm_clouseau_env)
> >> +      want_cls = atoi(elm_clouseau_env);
> >> +
> >> +   if (!want_cls)
> >> +      return EINA_FALSE;
> >> +
> >> +   _clouseau_info.handle = eina_module_new(
> >> +         PACKAGE_LIB_DIR "/clouseau/libclouseau" LIBEXT);
> >> +   if (!eina_module_load(_clouseau_info.handle))
> >> +     {
> >> +        WRN("Failed loading the clouseau library.");
> >> +        eina_module_free(_clouseau_info.handle);
> >> +        _clouseau_info.handle = NULL;
> >> +        return EINA_FALSE;
> >> +     }
> >> +
> >> +   _CLOUSEAU_LOAD_SYMBOL(_clouseau_info, init);
> >> +   _CLOUSEAU_LOAD_SYMBOL(_clouseau_info, shutdown);
> >> +   _CLOUSEAU_LOAD_SYMBOL(_clouseau_info, app_connect);
> >> +
> >> +   return EINA_TRUE;
> >> +}
> >> +
> >>   EAPI int
> >>   elm_init(int    argc,
> >>            char **argv)
> >> @@ -206,6 +261,16 @@ elm_init(int    argc,
> >>      if (_elm_init_count > 1) return _elm_init_count;
> >>      elm_quicklaunch_sub_init(argc, argv);
> >>      _prefix_shutdown();
> >> +
> >> +   if (_clouseau_module_load())
> >> +     {
> >> +        _clouseau_info.init();
> >> +        if(!_clouseau_info.app_connect(argv[0]))
> >> +          {
> >> +             ERR("Failed connecting to the clouseau server.");
> >> +          }
> >> +     }
> >> +
> >>      return _elm_init_count;
> >>   }
> >>
> >> @@ -221,6 +286,13 @@ elm_shutdown(void)
> >>      if (_elm_init_count > 0) return _elm_init_count;
> >>      _elm_win_shutdown();
> >>      while (_elm_win_deferred_free) ecore_main_loop_iterate();
> >> +
> >> +   if (_clouseau_info.shutdown)
> >> +     {
> >> +        _clouseau_info.shutdown();
> >> +        eina_module_free(_clouseau_info.handle);
> >> +        _clouseau_info.handle = NULL;
> >> +     }
> >>   // wrningz :(
> >>   //   _prefix_shutdown();
> >>      elm_quicklaunch_sub_shutdown();
> >>
> >
> >
> >
> ------------------------------------------------------------------------------
> > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> > Discover the easy way to master current and previous Microsoft
> technologies
> > and advance your career. Get an incredible 1,500+ hours of step-by-step
> > tutorial videos with LearnDevNow. Subscribe today and save!
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
>
>
> --
> Rafael Antognolli
>
>
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to