in svn. On Sat, Aug 8, 2009 at 5:44 AM, Thiago Borges Abdnur<bol...@gmail.com> wrote: > On Thu, Jul 30, 2009 at 10:28 PM, Carsten Haitzler > <ras...@rasterman.com>wrote: > >> On Thu, 30 Jul 2009 22:24:14 -0300 Thiago <bol...@gmail.com> said: >> >> > On Thu, Jul 30, 2009 at 12:37 PM, Carsten Haitzler >> > <ras...@rasterman.com>wrote: >> > >> > > On Sat, 11 Jul 2009 15:35:56 -0300 Thiago <bol...@gmail.com> said: >> > > >> > > elm_widget_type_get() :) this checks if its a elm_widget smart type (if >> not >> > > returns "") and if so... returns the type. this is really whats should >> be >> > > added >> > > to checks everywhere: >> > > >> > > if (elm_widget_type_get()[0]) { >> > > it's an elm widget! >> > > } >> > > >> > >> > You're right! I'll fix it and send it again. I didn't notice that >> function >> > xD >> > >> > > Here it goes. I fixed it. If you could commit this asap it would be nice, > because my GSoC project is depending on this patch. > > Thanks! > > >> >> > >> > > >> > > nb - also you are assuming its an ecore_evas too to get the win too. so >> > > basically you aleady re-implemented the magic stuff that evas does :) >> > > (elm_widget_type_get() is using it). >> > > >> > >> > What about this last part: >> > >> > EAPI Ecore_X_Window >> > elm_win_xwindow_get(const Evas_Object *obj) >> > { >> > - Elm_Win *win = (Elm_Win *)elm_widget_data_get(obj); >> > - if (!win) return 0; >> > - _elm_win_xwindow_get(win); >> > - return win->xwin; >> > + Ecore_X_Window xwin = 0; >> > + Ecore_Evas *ee = NULL; >> > + >> > + ee = ecore_evas_ecore_evas_get(evas_object_evas_get(obj)); >> > + if (ee) xwin = (Ecore_X_Window)ecore_evas_window_get(ee); >> > + >> > + return xwin; >> > } >> > >> > Is it ok? >> >> that's also assuming an ecore_evas. in your case thats ok. normal case for >> elm >> too. it should probably handle non-x targets too - from memory, so i think >> its >> ok. >> >> > > > Hi guys, >> > > > >> > > > I'm currently working on an IM client plugin for Canola in GSoC. This >> is >> > > my >> > > > first proposed patch for enlightenment. >> > > > >> > > > The problem begun when I tried to embed a elm widget inside canola. >> Every >> > > > time I created a widget, with a Edje smart object as parent, I got >> > > > segfaults. So I started investigating why it happaned inside the >> binding. >> > > > Nothing was wrong with it. Then I looked inside the code for >> elementary. >> > > > There I found it. All widgets suppose their top father is an evas >> smart >> > > > object containing a Elm_Win structure as the data field. Thats not >> true >> > > in >> > > > my case. So the patch changes the function elm_win_xwindow_get() >> inside >> > > > elm_win.c in a way that it get the xwindow reference from the evas of >> the >> > > > object, avoiding the corruption of data done by calling >> > > > _elm_win_xwindow_get(). See code for more details. That fixed the >> first >> > > > problem. >> > > > >> > > > But I kept getting segfaults when I used an entry widget, after I >> gave it >> > > > the focus. Problem was _on_focus_hook() (elm_entry.c) calling >> > > > elm_win_keyboard_mode_set(). This would also currupt a non-Elm_Win >> > > structure >> > > > pointed by data. So I proposed the creation of a magic field inside >> > > Elm_Win >> > > > to be tested before doing any operations that needs the smart object >> to >> > > be >> > > > attached to Elm_Win. >> > > > >> > > > The patch is working with tests and everything is working for me! I >> don't >> > > > know if this is the best solution, but at least it is one. >> > > > >> > > > Waiting on comments! >> > > > >> > > > Thanks. >> > > > >> > > > -- >> > > > Thiago 'bolaum' Borges Abdnur >> > > > ---------------------------------- >> > > > "Trust no one..." >> > > > - Deep Throat (The X-Files) >> > > > >> > > >> > > >> > > -- >> > > ------------- Codito, ergo sum - "I code, therefore I am" >> -------------- >> > > The Rasterman (Carsten Haitzler) ras...@rasterman.com >> > > >> > > >> > >> > >> > -- >> > Thiago 'bolaum' Borges Abdnur >> > ---------------------------------- >> > "Trust no one..." >> > - Deep Throat (The X-Files) >> > >> ------------------------------------------------------------------------------ >> > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day >> > trial. Simplify your report design, integration and deployment - and >> focus on >> > what you do best, core application coding. Discover what's new with >> > Crystal Reports now. http://p.sf.net/sfu/bobj-july >> > _______________________________________________ >> > enlightenment-devel mailing list >> > enlightenment-devel@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > >> >> >> -- >> ------------- Codito, ergo sum - "I code, therefore I am" -------------- >> The Rasterman (Carsten Haitzler) ras...@rasterman.com >> >> > > > -- > Thiago 'bolaum' Borges Abdnur > ---------------------------------- > "Trust no one..." > - Deep Throat (The X-Files) > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >
-- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel