;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: gparam.lisp,v 1.23 2007/05/10 20:26:33 espen Exp $
+;; $Id: gparam.lisp,v 1.25 2007/07/03 08:43:21 espen Exp $
(in-package "GLIB")
(defconstant +gvalue-size+ (size-of-gvalue))
(defconstant +gvalue-value-offset+
- (max (size-of 'type-number) (type-alignment 'type-number)))
+ (max (size-of 'type-number) (type-alignment '(unsigned-byte 64))))
(defbinding (%gvalue-init "g_value_init") () nil
(value gvalue)
(let ((parent (type-parent type)))
(unless (zerop parent)
(find-most-specific-known-type parent))))))
- (or
- (find-most-specific-known-type (ref-type-number gvalue))
- ;; This will signal an error if the type hierarchy is unknown
- (type-from-number (ref-type-number gvalue) t))))
+ (let ((type-number (ref-type-number gvalue)))
+ (unless (zerop type-number)
+ (or
+ (find-most-specific-known-type type-number)
+ ;; This will signal an error if the type hierarchy is unknown
+ (type-from-number type-number t))))))
(defun gvalue-get (gvalue)
(funcall (reader-function (gvalue-type gvalue))