On Sat, 11 Jul 2009 11:51:04 -0300
Gustavo Sverzut Barbieri <[email protected]> wrote:

> Hi Vincent, sorry taking so long, but patch is in svn. See comments below:
> 
> On Mon, Jun 29, 2009 at 8:49 PM, Vincent
> Francois<[email protected]> wrote:
> > Vincent Francois <[email protected]>
> >
> > Hello,
> >
> > I am writing to inform of a change in the systray module.
> >
> > When using the module, some icons are incorrectly placed (Google Desktop, 
> > VideoLan, Claw-Mails ...).
> >
> > The problem stems from the need to capture the event XConfigureEvent and 
> > then apply the new geometry of the embedded window.
> >
> > Below, I describe the changes applied to the file 
> > e/src/modules/systray/e_mod_main.c.
> >
> > // modify _Instance structure
> >
> > struct _Instance
> > {
> > ...
> > struct
> > {
> > ...
> > Ecore_Event_Handler *configure;
> > } handler;
> > ...
> > };
> >
> > // new callback function
> >
> > static int
> > _systray_cb_window_configure(void *data, int type __UNUSED__, void *event)
> > {
> >   Ecore_X_Event_Window_Configure *ev = event;
> >   Instance *inst = data;
> >   Icon *icon;
> >   Eina_List *l;   EINA_LIST_FOREACH(inst->icons, l, icon)
> >     if (icon->win == ev->win)
> >       {
> >       _systray_icon_geometry_apply(icon);
> >       break;
> >       }
> >
> >   return 1;
> > }
> >
> > // add handler
> >
> > static E_Gadcon_Client *
> > _gc_init(...)
> > {
> > ...
> >   inst->handler.configure = ecore_event_handler_add
> >      (ECORE_X_EVENT_WINDOW_CONFIGURE, _systray_cb_window_configure, inst);
> > ...
> > }
> >
> > *********
> >
> > After several tries, I can say that this method is successful.
> >
> > A patch file is included with this email. To create the patch I used this 
> > command :
> >
> > $ svn diff e_mod_main.c > e_mod_main.c.patch
> 
> 
> Okay, patch applied with minor changes:
>   - important: delete the event handler when gadget is removed!
> Failing to do so will lead to callback being called to already dead
> object and possibly code if we unload the module.
>   - remove stdio.h as it's not required, probably you used it to debug
> with printf()
>   - fixed indentation on new code
> 
> Also, next time you don't need to describe your patch, just code is
> enough, I can understand it. Just need to comment if patch is very
> different or unexpected.
> 
> 
> > I hope that my help will be most useful. If you are looking for a 
> > programmer specializing in low-level programming X11, think of me :)
> 
> Good :-)
> 
> 
> > I would like to participate in the adventure Enlightenment.
> 
> Already doing it :-) Welcome aboard. More patches are welcome.
> 

Hello Gustavo,

I appreciate your comments relevant.
Without thinking back, in the bug the bug report via the Trac interface 
(http://trac.enlightenment.org/e/ticket/360), the appropiate modifications of 
the patch were carried out.
But I agree, I should have check before ...

PS: Can you remove the Trac ticket number #360 ?

------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to