On Wed, 01 Feb 2012 06:51:59 -0500 Christopher Michael <cpmicha...@comcast.net>
said:

> On 02/01/12 04:48, Enlightenment SVN wrote:
> > Log:
> > ok 1 segv less. this code looks most suspicious...
> >
> Interesting ... How did you come across this segv ??

just moving mouse over a window... just randomly during resize or move... the
whole global value for input surface semlls fishy to me. i havent read the rest
of the code, but i saw u have checks for these input serufaces being null - so
i added another. still a whole slew of bugs that i see, but 1 segv less.

> dh
> 
> >
> >
> > Author:       raster
> > Date:         2012-02-01 01:48:46 -0800 (Wed, 01 Feb 2012)
> > New Revision: 67671
> > Trac:         http://trac.enlightenment.org/e/changeset/67671
> >
> > Modified:
> >    trunk/ecore/src/lib/ecore_wayland/ecore_wl.c
> >
> > Modified: trunk/ecore/src/lib/ecore_wayland/ecore_wl.c
> > ===================================================================
> > --- trunk/ecore/src/lib/ecore_wayland/ecore_wl.c    2012-02-01 06:39:26
> > UTC (rev 67670) +++ trunk/ecore/src/lib/ecore_wayland/ecore_wl.c
> > 2012-02-01 09:48:46 UTC (rev 67671) @@ -75,18 +75,18 @@
> >   static int _ecore_wl_touch_x = 0;
> >   static int _ecore_wl_touch_y = 0;
> >   static int _ecore_wl_input_modifiers = 0;
> > -static struct xkb_desc *_ecore_wl_xkb;
> > +static struct xkb_desc *_ecore_wl_xkb = NULL;
> >   static uint32_t _ecore_wl_input_button = 0;
> >
> > -static struct wl_compositor *_ecore_wl_comp;
> > -static struct wl_shm *_ecore_wl_shm;
> > -static struct wl_shell *_ecore_wl_shell;
> > -static struct wl_output *_ecore_wl_output;
> > -static struct wl_input_device *_ecore_wl_input_dev;
> > -static struct wl_surface *_ecore_wl_input_surface;
> > -static struct wl_surface *_ecore_wl_touch_surface;
> > -static struct wl_data_device_manager *_ecore_wl_data_manager;
> > -static struct wl_data_device *_ecore_wl_data_dev;
> > +static struct wl_compositor *_ecore_wl_comp = NULL;
> > +static struct wl_shm *_ecore_wl_shm = NULL;
> > +static struct wl_shell *_ecore_wl_shell = NULL;
> > +static struct wl_output *_ecore_wl_output = NULL;
> > +static struct wl_input_device *_ecore_wl_input_dev = NULL;
> > +static struct wl_surface *_ecore_wl_input_surface = NULL;
> > +static struct wl_surface *_ecore_wl_touch_surface = NULL;
> > +static struct wl_data_device_manager *_ecore_wl_data_manager = NULL;
> > +static struct wl_data_device *_ecore_wl_data_dev = NULL;
> >
> >   static const struct wl_output_listener _ecore_wl_output_listener =
> >   {
> > @@ -553,7 +553,8 @@
> >           if (state)
> >             {
> >                _ecore_wl_input_button = btn;
> > -             _ecore_wl_mouse_down_send(_ecore_wl_input_surface, btn, t);
> > +             if (_ecore_wl_input_surface)
> > +               _ecore_wl_mouse_down_send(_ecore_wl_input_surface, btn, t);
> >                /* NB: Ideally, this is not the place to check for drags.
> >                 * IMO, drags should be handled by the client. EG: we raise
> > the
> >                 * mouse_down to the client, and the client can 'request' a
> > @@ -576,7 +577,8 @@
> >                       }
> >                  }
> >                _ecore_wl_input_button = 0;
> > -             _ecore_wl_mouse_up_send(_ecore_wl_input_surface, btn, t);
> > +             if (_ecore_wl_input_surface)
> > +               _ecore_wl_mouse_up_send(_ecore_wl_input_surface, btn, t);
> >             }
> >        }
> >   }
> > @@ -1020,10 +1022,13 @@
> >        {
> >           unsigned int id = 0;
> >
> > -        if ((id = (unsigned int)wl_surface_get_user_data
> > (_ecore_wl_input_surface)))
> > +        if (_ecore_wl_input_surface)
> >             {
> > -             ev->window = id;
> > -             ev->event_window = id;
> > +             if ((id = (unsigned int)wl_surface_get_user_data
> > (_ecore_wl_input_surface)))
> > +               {
> > +                  ev->window = id;
> > +                  ev->event_window = id;
> > +               }
> >             }
> >        }
> >
> >
> >
> > ------------------------------------------------------------------------------
> > Keep Your Developer Skills Current with LearnDevNow!
> > The most comprehensive online learning library for Microsoft developers
> > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> > Metro Style Apps, more. Free future releases when you subscribe now!
> > http://p.sf.net/sfu/learndevnow-d2d
> > _______________________________________________
> > enlightenment-svn mailing list
> > enlightenment-...@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
> >
> 
> 
> ------------------------------------------------------------------------------
> Keep Your Developer Skills Current with LearnDevNow!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-d2d
> _______________________________________________
> 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


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to