OK, so I started to wonder why e16 would segv every time I tried
to open the 'About Enlightenment' to check the build date I was actually
running...

Turns out that sometimes, the 'sound' resource isn't set.  And this
eventually lead to a crash trying to strcpy from a null pointer down in
SclassFind.  I'm going to bet that a lot of people never see this because
they get saved by the !Conf_sound.enable check just before....

(This patch *also* fixed a number of other mysterious crashes when e16 tried
to put up a dialog box..)

Index: src/sound.c
===================================================================
RCS file: /var/cvs/e/e16/e/src/sound.c,v
retrieving revision 1.50
diff -u -r1.50 sound.c
--- src/sound.c 9 Dec 2006 21:32:03 -0000       1.50
+++ src/sound.c 13 Jan 2007 10:02:42 -0000
@@ -271,6 +271,9 @@
    if (!Conf_sound.enable)
       return;
 
+   if (!name || ! *name)
+      return;
+
    sclass = SclassFind(name);
    SclassApply(sclass);
 }

Attachment: pgpPluP5GYkF2.pgp
Description: PGP signature

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to