Commit Graph

271 Commits

Author SHA1 Message Date
Uli Schlachter 2b75950a8c Add some missing class type checks
Some functions didn't check the class of objects they were passed but just
casted them to the type they expected. This lead to code like e.g. the following
to crash awesome:

  c.titlebar = c

This adds a new function luaA_object_ref_class() which works like
luaA_object_ref(), but which also checks the class of the object.

Additionally, this function is now used in all necessary places.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-09-04 13:58:31 +02:00
Brian Gianforcaro c9ec34e61e Fix doxygen generation warnings
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-26 09:15:57 +02:00
Julien Danjou 4d0a025f51 luaclass: add handling of {new,}index of missing properties (FS#584)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:48 +02:00
Julien Danjou be066ca196 tag: emit signals on client tag changes
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou a916f2cd55 image: port to new class system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 0eb0c49592 tag: make struct tag private
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 38ada2bdc7 tag: emit screen signals when attaching and detaching tags
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou dc61d258f0 luaclass: optimize type handling
We use lua_class_t pointer as key in the registry to store metatable we
will compare.
lauxlib uses a string, which sucks, because it forces to do a
pushliteral() each time you want to get a metatable from the registry,
which is slower.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 99b75bf486 tag: port to new object system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:47 +02:00
Julien Danjou 1cc50b8a29 luaobject: remove useless custom function
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-08-21 15:30:46 +02:00
Julien Danjou 2836c98ee5 ewmh, tag: simplify ewmh_update_net_current_desktop
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-30 11:30:54 +02:00
Julien Danjou 047d04d438 luaobject: import __tostring as object meta function
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 16:09:14 +02:00
Julien Danjou c1d99f0960 luaobject: emit signal on new object
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-29 15:48:18 +02:00
Julien Danjou dea2b6303a luaobject: import signals meta methods in objects
Signed-off-by: Julien Danjou <julien@danjou.info>

Conflicts:
2009-07-29 15:48:18 +02:00
Brian Gianforcaro 404ec8eb24 Fix doxygen generation warnings.
Signed-off-by: Brian Gianforcaro <b.gianfo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-07-27 11:18:43 +02:00
Julien Danjou 6d755c5524 tag: fix reference leak
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-16 17:16:45 +02:00
Julien Danjou a8115bd45e luaobject: ref take index number as argument
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-16 17:15:20 +02:00
Julien Danjou c95ba76d2f luaobject: use object header and standard gc everywhere
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-16 16:26:45 +02:00
Julien Danjou e4acb74a5a luaa: split dofunction()
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:44:29 +02:00
Julien Danjou 332e2cb8e8 layout: rename to banning
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:42:43 +02:00
Julien Danjou 1a0b1a2215 tag: remove useless need_arrange on newindex
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:41:46 +02:00
Julien Danjou 71c0ded940 tag: add a hook for tag on select/unselect
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-06-10 11:41:36 +02:00
Julien Danjou 43902aed69 luaa: fix memory leak in __gc
We need to wipe the ref_array.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-05-08 09:53:20 +02:00
Julien Danjou 566e40638b tag: check that tag is not already attached before attaching (FS#509)
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-26 15:13:41 +02:00
Julien Danjou 4a34693bfb screen: remove index field
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-18 17:51:31 +02:00
Julien Danjou 5e0c84b9fb tag: reset screen later
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 17:21:59 +02:00
Julien Danjou 486ef71a7f screen: replace screens pointer by a screen_t array
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-17 16:14:09 +02:00
Julien Danjou 4531a3a17c tag: use new Lua object system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Julien Danjou 81033d391b client: use new object system
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-12 15:11:33 +02:00
Uli Schlachter 95457c5ab7 Move the definition of globalconf into a header file
Pretty much every single source file needs this struct, so it makes sense to
define it in a common header instead of in every single .c file.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-04-10 16:32:42 +02:00
Alex Cornejo 106e6ed5ab Styling inconsistencies
Cheers,

Alex

From b5816ec55073507d4527ad3a77eae1878adb30d3 Mon Sep 17 00:00:00 2001
From: Alex Cornejo <acornejo@gmail.com>
Date: Sun, 29 Mar 2009 14:24:27 -0400
Subject: [PATCH] Fixed some styling issues.

Noticed in the latest pull that a commit introduced a lot of styling
inconsistencies, decided to remove those and others found by a simple
grep.

Signed-off-by: Alex Cornejo <acornejo@gmail.com>
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-30 12:53:12 +02:00
Julien Danjou adf0fd3234 tag: stop using otable
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-14 13:33:52 +01:00
Julien Danjou 17e2d9e58f client: remove _AWESOME_TAGS property
We use EWMH hints.

Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou 5154cfc19f remove deprecated functions
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-03-12 11:49:58 +01:00
Julien Danjou dd2c62721c tag: add compatibility with old constructor proto
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-02-06 11:55:09 +01:00
Julien Danjou 17928bc112 ewmh: add support for _NET_WM_DESKTOP update
Signed-off-by: Julien Danjou <julien@danjou.info>
2009-01-02 11:55:46 +01:00
Julien Danjou a4d914f0e4 draw: fix UTF-8 string len computation upon conversion
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:23 +01:00
Julien Danjou 2037a053a9 layout: move layout code to Lua
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-14 10:28:21 +01:00
Julien Danjou f188c10fa4 util: precompute funcname in name_func_link
This will improve search a bit.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-12 16:51:41 +01:00
Julien Danjou 1a7413d257 hooks: call tags hooks with more arg
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-04 22:29:11 +01:00
Julien Danjou b0090950a0 Revert "lua: do not use otable where table are enough"
This reverts commit a220d46850.
2008-12-04 16:55:40 +01:00
Julien Danjou a220d46850 lua: do not use otable where table are enough
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-12-04 13:29:00 +01:00
Julien Danjou d1db6903fa luaa: check that function is not NIL before pushing and calling
Otherwise we may push unused elements because dofunction() checked
_after_ if the function was nil, or not.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-20 17:48:23 +01:00
Julien Danjou ee8bcd6c43 tag: always call tagged hook with 2 args
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-20 17:47:48 +01:00
Julien Danjou e1ddf089a2 tag: unref after calling hook
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-20 17:47:13 +01:00
Julien Danjou 44fc8fa51c tag: fix bad len retrieval
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-12 15:04:11 +01:00
Julien Danjou ca38f96625 tag: reset client tag props on #tags change
Otherwise it will be ignored on restart.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-10 17:40:37 +01:00
Julien Danjou 9ceb1a59b4 tag: return after warn
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-10 11:31:16 +01:00
Julien Danjou 025b64ee44 tag: stop checking for tag duplication and be less picky, only warn user
Signed-off-by: Julien Danjou <julien@danjou.info>
2008-11-07 11:21:30 +01:00
Julien Danjou 85c7bf07c9 luaa: merge tostring() with DO_LUA_NEW
Also use the same format as standard Lua for tostring output.

Signed-off-by: Julien Danjou <julien@danjou.info>
2008-10-26 16:15:49 +01:00