2009/7/13 Vincent François <[email protected]>: > 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 ?
Just mark it as fixed, I'll do it now. Thanks for the patch! -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: [email protected] Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ 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
