Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashing when theme uses nonexistent PNG files #141

Closed
silverhammermba opened this issue Feb 18, 2015 · 4 comments
Closed

Crashing when theme uses nonexistent PNG files #141

silverhammermba opened this issue Feb 18, 2015 · 4 comments
Labels

Comments

@silverhammermba
Copy link
Contributor

Set theme.bg_normal to a nonexistent PNG file (e.g. "png:bg.png") and start awesome - it will crash. The error is:

error while running function
stack traceback:
        [C]: in function 'load_image'
        /usr/share/awesome/lib/gears/surface.lua:39: in function </usr/share/awesome/lib/gears/surface.lua:24>
        (...tail calls...)
        /usr/share/awesome/lib/gears/color.lua:73: in function '?'
        /usr/share/awesome/lib/gears/color.lua:202: in function </usr/share/awesome/lib/gears/color.lua:187>
        (...tail calls...)
        /usr/share/awesome/lib/wibox/widget/background.lua:74: in function 'set_bg'
        /usr/share/awesome/lib/awful/menu.lua:394: in function 'add'
        /usr/share/awesome/lib/awful/menu.lua:651: in function </usr/share/awesome/lib/awful/menu.lua:620>
        (...tail calls...)
        /home/max/.config/awesome/rc.lua:103: in main chunk
error: /usr/share/awesome/lib/gears/surface.lua:39: Failed to open file 'bg.png': No such file or directory
error while running function
stack traceback:
        [C]: in function 'load_image'
        /usr/share/awesome/lib/gears/surface.lua:39: in function </usr/share/awesome/lib/gears/surface.lua:24>
        (...tail calls...)
        /usr/share/awesome/lib/gears/color.lua:73: in function '?'
        /usr/share/awesome/lib/gears/color.lua:202: in function </usr/share/awesome/lib/gears/color.lua:187>
        (...tail calls...)
        /usr/share/awesome/lib/wibox/drawable.lua:133: in function 'set_bg'
        /usr/share/awesome/lib/wibox/drawable.lua:265: in function </usr/share/awesome/lib/wibox/drawable.lua:230>
        (...tail calls...)
        /usr/share/awesome/lib/wibox/init.lua:110: in function </usr/share/awesome/lib/wibox/init.lua:106>
        (...tail calls...)
        /usr/share/awesome/lib/naughty.lua:440: in function 'notify'
        /etc/xdg/awesome/rc.lua:18: in main chunk
error: /usr/share/awesome/lib/gears/surface.lua:39: Failed to open file 'bg.png': No such file or directory
E: awesome: main:535: couldn't find any rc file

If theme.bg_focus is given an nonexistent PNG, it does slightly better. Rather than a full crash, awesome loads the default config and shows a notification:

error while running function
stack traceback:
        [C]: in function 'load_image'
        /usr/share/awesome/lib/gears/surface.lua:39: in function </usr/share/awesome/lib/gears/surface.lua:24>
        (...tail calls...)
        /usr/share/awesome/lib/gears/color.lua:73: in function '?'
        /usr/share/awesome/lib/gears/color.lua:202: in function </usr/share/awesome/lib/gears/color.lua:187>
        (...tail calls...)
        /usr/share/awesome/lib/wibox/widget/background.lua:74: in function 'set_bg'
        /usr/share/awesome/lib/awful/widget/common.lua:82: in function 'update_function'
        /usr/share/awesome/lib/awful/widget/taglist.lua:130: in function 'taglist_update'
        /usr/share/awesome/lib/awful/widget/taglist.lua:171: in function 'u'
        /usr/share/awesome/lib/awful/widget/taglist.lua:194: in function </usr/share/awesome/lib/awful/widget/taglist.lua:164>
        (...tail calls...)
        /home/max/.config/awesome/rc.lua:178: in main chunk
error: /usr/share/awesome/lib/gears/surface.lua:39: Failed to open file 'bg_f.png': No such file or directory
W: awesome: color_parse:58: awesome: error, invalid color 'png:bg_f.png'
W: awesome: color_init_unchecked:96: awesome: error, invalid color 'png:bg_f.png'

Both behaviors are unexpected, since awesome does not crash at all when given invalid theme colors - it simply substitutes placeholders.

@blueyed blueyed added the bug label Feb 18, 2015
@actionless
Copy link
Member

and what is your proposal? i personally would like to load fallback image for any missing surface and show naughty with warning

@Elv13
Copy link
Member

Elv13 commented Feb 24, 2015

+1 for that.

Some internal cairo surface with unicode U+274E ( ❎ )

@silverhammermba
Copy link
Contributor Author

That or just make it white, which I think is the behavior of the tasklist when you give it an invalid color code.

@psychon
Copy link
Member

psychon commented Jan 17, 2016

Fixed with 2e58a9c

@psychon psychon closed this as completed Jan 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants