;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(defun gvalue-new (&optional type (value nil value-p))
(let ((gvalue (allocate-memory +gvalue-size+)))
(defun gvalue-new (&optional type (value nil value-p))
(let ((gvalue (allocate-memory +gvalue-size+)))
(defmacro with-gvalue ((gvalue &optional type (value nil value-p)) &body body)
`(with-memory (,gvalue +gvalue-size+)
,(cond
(defmacro with-gvalue ((gvalue &optional type (value nil value-p)) &body body)
`(with-memory (,gvalue +gvalue-size+)
,(cond
- ((and type value-p) `(gvalue-init ,gvalue ,type ,value))
+ ((and type value-p) `(gvalue-init ,gvalue ,type ,value t))
(type `(gvalue-init ,gvalue ,type)))
,@body
,(unless value-p `(gvalue-take ,gvalue))))
(type `(gvalue-init ,gvalue ,type)))
,@body
,(unless value-p `(gvalue-take ,gvalue))))