2011-09-18 Kouhei Sutou * lib/mkmf-gnome2.rb (add_depend_package): support RubyGems 1.8.6. * ext/glib2/rbglib.h: 1.0.1 -> 1.0.2. * ext/glib2/rbgutil_callback.c: don't include unistd.h on Win32 environment. * ext/glib2/rbgutil_callback.c (queue_callback_request): use G_GSSIZE_FORMAT instead of 'z' for portability. * lib/glib2.rb (GLib#__add_one_arg_setter): cleanup. * ext/glib2/rbgutil_callback.c (queue_callback_request): add missing 'z' for size_t format parameter. * lib/glib2.rb (GLib.__add_one_arg_setter): convert method names to String not Symbol to work on Ruby 1.8. * test/glib-test-init.rb: require "rubygems". * ext/glib2/rbgutil_callback.c (queue_callback_request): suppress a warning. (variable ‘written’ set but not used [-Wunused-but-set-variable]) * ext/glib2/rbgutil_callback.c, ext/glib2/rbgprivate.h: work rb_errinfo() on Ruby 1.8 in all files. * ext/glib2/rbglib.c, ext/glib2/rbglib.h, ext/glib2/glib2.def: rbg_cstr2rval_with_free() -> rbg_cstr2rval_free(). * ext/glib2/rbglib.c: don't export internal functions. * ext/glib2/rbglib.c (rbg_filename_to_ruby_body) (rbg_filename_to_ruby_ensure): don't define on Ruby 1.8. * ext/glib2/rbglib.c (rbg_filename_to_ruby): use rb_external_str_new_with_enc(). * ext/glib2/rbglib.h: 1.0.0 -> 1.0.1. 2011-09-16 Nikolai Weibull * lib/glib2.rb: Remove unused variable. * ext/glib2/rbglib.c: Don’t use ALLOCA_N() on user-supplied input. * ext/glib2/rbglib.c, ext/glib2/rbglib.h, ext/glib2/glib2.def: Remove rbg_rval2argv() and RVAL2ARGV(). * glib2/ext/glib2/rbglib_spawn.c: Use RVAL2STRV() instead of RVAL2ARGV(). 2011-09-15 Nikolai Weibull * ext/glib2/rbgobj_strv.c: Plug memory leak. * ext/glib2/rbgutil.h: Add G_REPLACE_SET_PROPERTY(), G_REPLACE_GET_PROPERTY(), and G_REPLACE_ACTION() macros for replacing automatically defined property getters and setters and actions (from G_SIGNAL_ACTION). These are primarily useful for making it clear why we’re undefining a method and then redefining it. 2011-09-14 Nikolai Weibull * ext/glib2/rbglib_iochannel.c: Fix broken code under Win32. * ext/glib2/*.c: Fix warnings on Win32. * ext/glib2/glib2.def: Add new externs. 2011-09-12 Nikolai Weibull * lib/glib2.rb (__add_one_arg_setter): Ruby 1.9-proof this method. * ext/glib2/rbglib.c: Fix coding style. * ext/glib2/rbglib.c: Don’t use StringValue(RARRAY_PTR(ary)[i]), as that changes the Array. * ext/glib2/rbglib.c: Add rbg_strv2rval(). * ext/glib2/rbglib.h: Add RVAL2STRV and STRV2RVAL(). * ext/glib2/rbgobj_strv.c: Use RVAL2STRV() and STRV2RVAL(). * ext/glib2/rbglib.c: Ensure that memory is freed. * ext/glib2/rbglib.h: Add CSTRFILENAME2RVAL(). * ext/glib2/rbglib.c: Add rbg_strv2rval_free(). * ext/glib2/rbglib.h: Add RVAL2STRV_FREE(). 2011-09-10 Nikolai Weibull * ChangeLog: Fix date header for previous entry. * lib/mkmf-gnome2.rb: Make last change backwards compatible with older RubyGems. I don’t like RubyGems. * ext/glib2/rbglib.c (rbg_rval2cstr_filename): Fix allocation. * ext/glib2/rbglib_bookmarkfile.c: Fix RVAL2CSTRFILENAME calls. 2011-09-09 Nikolai Weibull * lib/mkmf-gnome2.rb: Use new RubyGems APIs. * ext/glib2/*.c: Fix all warnings generated with gcc 4.4.5. * ext/glib2/*.c: Fix all RVAL2CSTR calls. 2011-08-04 Kouhei Sutou * ext/glib2/rbglib_iochannel.c (ioc_win32_socket_initialize): use rb_w32_get_osfhandle() to get raw socket handle on Windows. Suggested by NAKAMURA Usaku. Thanks!!! 2011-08-03 Kouhei Sutou * ext/glib2/rbglib_iochannel.c (ioc_s_open): add missing Windows support. Reported by OBATA Akio. Thanks!!! 2011-07-13 Kouhei Sutou * ext/glib2/rbglib_iochannel.c (ioc_win32_socket_initialize): fix variable name. 2011-06-30 Kouhei Sutou * ext/glib2/rbglib_iochannel.c: bind g_io_channel_win32_new_socket(). 2011-06-11 Kouhei Sutou * ext/glib2/rbglib_error.c (rbgerr_gerror2exception): add missing parentheses. [#3312572] Patch by Evan Phoenix. Thanks!!! * ext/glib2/rbglib.h: 0.90.9 -> 1.0.0. * lib/gnome2-raketask.rb: suppress deprecation warnings. * Rakefile, test/: use test-unit 2 gem. don't bundle it. 2011-06-04 Kouhei Sutou * lib/mkmf-gnome2.rb (add_depend_package): don't require parent directory for target_srcdir. target_srcdir can be relative path from target package root directory. e.g.: add_depend_package("glib2", "ext/glib2", "/path/to/ruby-gnome2-root-dir")) before: NG after: OK add_depend_package("glib2", "glib2/ext/glib2", "/path/to/ruby-gnome2-root-dir")) before: OK after: OK * lib/mkmf-gnome2.rb (add_depend_package): support gem installed depend package. * ext/glib2/rbglib_iochannel.c: [backward incompatible] GLib::IOChannel#write returns written byte not self. 2011-06-03 Kouhei Sutou * ext/glib2/rbglib_iochannel.c: support GLib::IOChannel.new(fd) and GLib::IOChannel#fd on Windows. 2011-05-27 Kouhei Sutou * ext/glib2/rbgobject.h, ext/glib2/rbgobj_signal.c (rbgobj_set_signal_func): add missing "const". 2011-03-03 Vincent Carmona * glib2/lib/mkmf-gnome2.rb: Fix a bug in make_version_header. [ruby-gnome2-devel-en] reported by Grant Schoep. Thanks!!! 2011-03-04 Kouhei Sutou * ext/glib2/rbglib.h: 0.90.7 -> 0.90.8. * ext/glib2/rbglib_win32.c (rbglib_m_win32_locale_filename_from_utf8_deprecated): add missing argument. 2011-03-03 Vincent Carmona * glib2/lib/mkmf-gnome2.rb: clean pkg-config files. 2011-02-25 Kouhei Sutou * ext/glib2/rbgobject.h, ext/glib2/rbgprivate.h (rbgobj_gobject_initialize): export. * ext/glib2/rbgobject.c (rbgobj_initialize_object): add missing break. 2011-02-13 Kouhei Sutou * test/test_iochannel.rb: work on both Ruby 1.8 and 1.9. * test/test_iochannel.rb: don't set $KCODE on Ruby 1.9. * ext/glib2/rbglib_iochannel.c: set encoding. * ext/glib2/rbglib.c (rbg_cstr2rval_len_with_encoding): use UTF-8 as the default encoding. * ext/glib2/rbglib.h: fix a typo. * ext/glib2/rbglib_unicode.c: use CSTR2RVAL_ENC() and CSTR2RVAL_LEN_ENC(). * ext/glib2/rbglib.[ch] (CSTR2RVAL_ENC, CSTR2RVAL_LEN_ENC): add. * ext/glib2/rbglib_unicode.c, test/test_unicode.rb: set UTF-16 and UTF-32 encoding. * ext/glib2/rbglib.c (rbg_cstr2rval_len): use len. * ext/glib2/rbglib_unicode.c: set UTF-8 encoding. * test/test_unicode.rb: don't require Uconv on Ruby 1.9. * ext/glib2/rbglib.[ch] (CSTR2RVAL_LEN): add. * test/test_unicode.rb (TestGLibUnicode#test_utf8_validate): support Ruby 1.9. 2011-02-12 Kouhei Sutou * lib/mkmf-gnome2.rb (#check_cairo): re-support non-gem rcairo detection. #3178228 Patch by OBATA Akio. Thanks!!! 2011-02-05 Masaaki Aoyagi * ext/glib2/*.c: change to ANSI C style. 2011-02-04 Masaaki Aoyagi * ext/glib2/rbglib_iochannel.c: fix declaration. 2011-02-02 Kouhei Sutou * lib/gnome2-raketask.rb (GNOME2Package#define_gem_tasks): has_rdoc = false. * ext/glib2/rbglib.h: 0.90.7 -> 0.90.8. * lib/mkmf-gnome2.rb: remove "-Wl,--no-undefined" linker flag. Reported by Dobai-Pataky Bálint. 2011-01-30 Kouhei Sutou * ext/glib2/rbglib.h: 0.90.6 -> 0.90.7. * lib/mkmf-gnome2.rb (setup_win32): add vendor/local/ existence check. * lib/gnome2-win32-binary-downloader.rb (GNOME2Win32BinaryDownloader#download_package): support old Win32 binary URL for goocanvas. * lib/gnome2-win32-binary-downloader.rb (GNOME2Win32BinaryDownloader#download_package): support old Win32 binary URL for gtksourceview. * lib/gnome2-win32-binary-downloader.rb (GNOME2Win32BinaryDownloader#download_dependency): support specifying version. * lib/gnome2-win32-binary-downloader.rb (GNOME2Win32BinaryDownloader#download_dependency): improve error handling. * lib/gnome2-win32-binary-downloader.rb (GNOME2Win32BinaryDownloader#download_package): just handle "PACKAGE_VERSION-win32.zip" and "PACKAGE-dev_VERSION-win32.zip". * lib/mkmf-gnome2.rb (setup_win32): use rcairo's vendor/local/lib/pkgconfig if it exists. * lib/mkmf-gnome2.rb (setup_win32): don't override 'prefix=' in *.pc. * lib/mkmf-gnome2.rb (add_depend_package): add dependency package's vendor/local/lib/pkgconfig to PKGConfig path. * lib/gnome2-raketask.rb (GNOME2Package#define_win32_tasks): don't require 'vendor/local'. * lib/gnome2-win32-binary-downloader.rb: override "prefix=" for downloaded *.pc. * lib/gnome2-raketask.rb: add missing "require 'find'". * lib/gnome2-win32-binary-downloader.rb (GNOME2Win32BinaryDownloader#click_zip_link): override existing files without prompting. 2011-01-29 Kouhei Sutou * lib/mkmf-gnome2.rb: - add load error check. - remove needless rb_cairo.h check. 2011-01-28 Masaaki Aoyagi * lib/mkmf-gnome2.rb: fix check_cairo. 2011-01-21 Masaaki Aoyagi * lib/gnome2-raketask.rb: add. * Rakefile: change to use gnome2-raketask.rb. 2011-01-02 Kouhei Sutou * lib/mkmf-gnome2.rb: support "2.0b7" style module version for xulrunner-2.0b7. #3141244 Reported by reandr. Thanks!!! 2010-11-04 Nikolai Weibull * lib/glib2.rb: Use ::File to access Ruby File class. 2010-10-30 Kouhei Sutou * ext/glib2/rbgobj_type.c (rbgobj_gtype_new): fix GType conversion. GType is unsigned long not unsigned int. 2010-10-28 Kouhei Sutou * ext/glib2/rbglib.h: 0.90.5 -> 0.90.6. 2010-10-27 Kouhei Sutou * lib/glib-mkenums.rb: work on LANG=C environment. * Rakefile: depend on pkg-config as not development library. 2010-10-24 Kouhei Sutou * ext/glib2/rbglib.h: 0.90.4 -> 0.90.5. 2010-10-24 Kouhei Sutou * ext/glib2/rbglib.c (rbg_rval2cstr): add missing '*'. [#3093789] Reported by tmtms. Thanks!!! 2010-10-23 Kouhei Sutou * ext/glib2/rbglib.h: 0.90.3 -> 0.90.4. * ext/glib2/glib2.def: add missing exported symbols. * lib/mkmf-gnome2.rb: ignore nonexistent directory. * ext/glib2/rbglib.c, ext/glib2/rbglib.h: fix alived string may be GCed in RVAL2CSTR and RVAL2CSTR_ACCEPT_NIL problem. Suggested by Neil Roberts. Thanks!!! 2010-10-21 Kouhei Sutou * ext/glib2/rbgobj_paramspecs.c: add missing type declarations. Reported by Nobuyoshi Nakada. Thanks!!! 2010-10-08 Guillaume Cottenceau * fix some uses of rb_str_new* and StringValuePtr to use encoding-aware Strings 2010-10-08 Guillaume Cottenceau * RVAL2CSTR2 is deprecated, replace with RVAL2CSTR_ACCEPT_NIL * CSTR2RVAL2 is deprecated, replace with CSTR2RVAL_FREE 2010-10-07 Guillaume Cottenceau * ext/glib2/rbglib.c, ext/glib2/rbglib.h, ext/glib2/glib2.def, ext/glib2/rbglib_bookmarkfile.c: have RVAL2CSTRFILENAME, CSTRFILENAME2RVAL_FREE and CSTRFILENAMEARRAY2RVAL_FREE, to handle filename String to/from rg2 manipulations, in glib2 to use them in any rg2 submodules 2010-10-06 Guillaume Cottenceau * ext/glib2/rbglib.c, ext/glib2/extconf.rb: use HAVE_RUBY_ENCODING_H, not HAVE_RB_STR_ENCODE 2010-09-30 Guillaume Cottenceau * ext/glib2/rbglib.c, ext/glib2/rbgobj_value.c, ext/glib2/rbglib.h, ext/glib2/glib2.def: improve CSTR2RVAL, RVAL2CSTR, gvalue2rvalue, and rvalue2gvalue, to use UTF-8 strings when Ruby supports String encoding (Ruby 1.9) - in particular this should allow retrieving usable Strings from rg2 (Strings with a set encoding) 2010-09-26 Kouhei Sutou * ext/glib2/rbglib.h: 0.90.2 -> 0.90.3. 2010-09-25 Kouhei Sutou * lib/mkmf-gnome2.rb (ensure_objs): add. * lib/mkmf-gnome2.rb: add generated files in build directory to build targets too. 2010-09-23 Kouhei Sutou * ext/glib2/rbglib.h: 0.90.1 -> 0.90.2. * Rakefile: don't add .zip into gem. * lib/mkmf-gnome2.rb (#add_depend_package): improve auto build path detection. * ext/glib2/rbglib.h: 0.90.0 -> 0.90.1. * ext/glib2/rbglib.h (RBGLIB_MINOR_VERSION): 20 -> 90. (0.20.0 -> 0.90.0) * lib/glib2.rb (GLib#prepend_environment_path): add for Windows DLL. * ext/glib2/rbgutil.c (rbgutil_gslist2ary_and_free): fix wrong address is passed. * test/run-test.rb: fix extension library path. * lib/mkmf-gnome2.rb (#add_depend_package): don't add nonexistent path to include paths. * lib/mkmf-gnome2.rb (#ruby_gnome2_version): follow directory structure change. * lib/mkmf-gnome2.rb (#add_depend_package): support top build directory path. * README: add installation document by RubyGems. * lib/mkmf-gnome2.rb (#add_depend_package): add build directory to include path. 2010-09-21 Kouhei Sutou * lib/mkmf-gnome2.rb (#check_cairo): support rcairo path customize by arguments. * lib/mkmf-gnome2.rb (#check_cairo): follow rcairo's path change. * ext/glib/extconfr.b, lib/mkmf-gnome2.rb: share Windows setup code. * Rakefile, lib/gnome2-win32-binary-downloader.rb: share Windows binary file downloader. 2010-09-11 Kouhei Sutou * ext/glib2/rbglib_maincontext.c (idle_add): fix default priority. Reported by ashbb. Thanks!!! 2010-09-07 Kouhei Sutou * lib/mkmf-gnome2.rb: ensure add generated enum file. * ./: support cross-compile for Windows. 2010-09-02 Kouhei Sutou * ./: reconstruct directory structure for rake-compiler. 2010-07-24 Nikolai Weibull src/rbgutil.c: make sure that all strings are fred in rbgutil_glist2ary_string_and_free. 2010-07-23 Nikolai Weibull src/rbgutil.c: use rb_ensure around all *_free functions and also fix a bug that made sure that no lists were actually freed. That's the price of reusing variables. 2010-07-14 Kouhei Sutou * src/rbglib.c: fix coding style. 2010-07-12 Nikolai Weibull * src/rbglib.c: use rb_ensure for rbg_cstr_to_rval to free the memory even if an error occurs when creating the Ruby String. 2010-04-17 Kouhei Sutou * src/rbglib.h: 0.19.4 -> 0.20.0. 2010-04-07 Kouhei Sutou * src/rbgobj_typeinstance.c (each_cinfo): fix a memory leak. 2010-02-28 Kouhei Sutou * src/lib/mkmf-gnome2.rb, src/lib/glib-mkenums.rb: add {:force_flags => [pattern1, ...]} options to glib_mkenums to force treating detected enum as flags. 2010-02-12 Kouhei Sutou * src/rbgutil.[ch], src/glib2.def: add rbgutil_string_set_utf8_encoding() for Ruby 1.9. * extconf.rb: detect rb_enc_associate(). 2010-02-06 Kouhei Sutou * src/rbgobj_closure.c, src/rbgobj_signal.c, src/rbgobject.h, srb/glib2.def: set tag to GRClosure for debugging. 2009-10-11 Kouhei Sutou * src/rbgobj_object.c: fix type_register on Ruby 1.9. don't use each_with_index in C because rb_iterate() API seems changed in Ruby 1.9. Reported by Simon Arnaud. Thanks!!! 2009-09-24 Kouhei Sutou * src/rbglib.h (RBGLIB_MICRO_VERSION): 0.19.3 -> 0.19.4. * src/lib/mkmf-gnome2.rb: add missing nil check. Reported by Simon Arnaud. Thanks!!! * src/lib/mkmf-gnome2.rb: use INCFLAGS instead of CPPFLAGS. 2009-09-23 Kouhei Sutou * src/rbglib.h (RBGLIB_MICRO_VERSION): 0.19.2 -> 0.19.3. * src/rbglib_maincontext.c: follow the recent Ruby thread priority changes. 2009-09-22 Kouhei Sutou * src/rbglib_maincontext.c: work Ruby thread with GTK+. [Debian #502262] Reported by Johan Walles. Thanks!!! * src/rbglib_maincontext.c: fix multi thread blocking with Ruby 1.8.6-p368 or later and 1.8.7-p173 or later. [#2862022] Reported by Andrea Dallera. Thanks!!! * src/lib/mkmf-gnome2.rb: don't add nonexistent path to include paths. 2009-08-15 Kouhei Sutou * src/lib/mkmf-gnome2.rb: check $(vendorarchdir) availability. Reported by Toshiyuki Suzumura. Thanks!!! 2009-08-10 Kouhei Sutou * extconf.rb, src/lib/mkmf-gnome2.rb: cleanup. * src/lib/mkmf-gnome2.rb: cleanup. 2009-07-26 Kouhei Sutou * src/rbglib.h (RBGLIB_MICRO_VERSION): 0.19.1 -> 0.19.2. 2009-05-31 Kouhei Sutou * src/lib/mkmf-gnome2.rb: add also "-I$(vendorarchdir)" to CPPFLAGS. * src/depend: use RUBYARCHDIR. Patch by OBATA Akio. Thanks!!! 2009-05-30 Kouhei Sutou * src/rbgobj_type.c: use GHashTable instead of Ruby's Hash to avoid object creation while GC. Reported by OBATA Akio. Thanks!!! * src/rbgobj_boxed.c (boxed_free): don't create new object on free. * src/rbglib.h (RBGLIB_MICRO_VERSION): 0.19.0 -> 0.19.1. 2009-05-27 Pascal Terjan * src/rbglib.c: fix limits of basic types 2009-04-04 Kouhei Sutou * src/rbglib.h, src/rbglib_error.c (rbgerr_define_gerror): add const. Suggested by Nikolai Weibull. Thanks!!! 2009-03-27 Kouhei Sutou * src/lib/pkg-config.rb: use license statement in www.gnu.org. Suggested by Samuel Tesla. Thanks!!! 2009-03-21 Kouhei Sutou * src/rbglib_maincontext.c, test/test_timeout.rb: fix inverted type conversion. Reported by Nikolai Weibull. Thanks!!! 2009-02-23 Kouhei Sutou * src/rbglib_convert.c: remove duplicated GLib.charset method. * src/rbgobj_object.c (Init_gobject_gobject): undef automatically notify method defined for GObject::notify signal. * test/test_iochannel.rb: suppress warnings for Ruby 1.9.2dev. 2009-01-11 Kouhei Sutou * src/rbglib_maincontext.c: add workaround for ruby 1.9.0. Should we try to support 1.9.0? [#2493874] Reported by boo. Thanks!!! 2008-12-12 Kouhei Sutou * src/depend (install): glib-enum-types.h exists in $(builddir) not $(srcdir). [#2420281] Reported by troels knak-nielsen. Thanks!!! * TODO: add an entry: make log message handler set by Ruby/GLib removable. 2008-12-10 Kouhei Sutou * src/rbgobj_type.c: use Mutex instead of rb_thread_critical. * src/rbgobj_boxed.c, src/rbgobj_enums.c, src/rbgobj_typeinterface.c, src/lib/glib2.rb: follow the above change. 2008-11-19 Kouhei Sutou * src/rbgobj_enums.c, test/test_enum.rb: GLib::Flags#| accepts empty array. * test/test_glib2.rb: move a test that depends of Ruby/GTK2 to Ruby/GTK2. 2008-11-01 Kouhei Sutou * src/rbglib.h (DBL2NUM): define. * src/: use RARRAY_PTR(), RARRAY_LEN() and RSTRING_LEN(). 2008-10-25 Kouhei Sutou * test/test_signal.rb: use assert_const_defined. 2008-10-16 Kouhei Sutou * TODO: add. 2008-10-03 Kouhei Sutou * src/rbglib.h: 0.18.0 -> 0.19.0. 2008-09-30 Andy Spencer * src/depend (install): install glib-enum-types.h. [#2106938] 2008-09-30 Kouhei Sutou * src/rbglib.h (g_key_file_get_type): move to ... * src/rbgobject.h: ... here. 2008-09-18 Kouhei Sutou * src/rbglib_maincontext.c: use VALUE not guint to rb_set_end_proc()'s data. This will fix Debian bug [#490305]. 2008-09-14 Kouhei Sutou * src/rbgobj_object.c (holder_free): fix memory leak. 2008-09-13 Kouhei Sutou * src/lib/mkmf-gnome2.rb (check_cairo): support rcairo in gem. Suggested by OBATA Akio. Thanks!!! 2008-09-07 Kouhei Sutou * src/rbglib.h: 0.17.0 -> 0.18.0. 2008-09-06 Kouhei Sutou * src/rbgobj_object.c: cleanup. * src/rbgobj_object.c: destroy object on weak notify. [Bug #2060606] Reported by Arnaud Cornet. Thanks!!! 2008-07-27 Sjoerd Simons * src/rbgobj_closure.c: Only use G_REMOVE_RELATIVE when a closure is directly invalidated. This prevents object creation when freeing the closure from the garbage collector. 2008-07-09 Kouhei Sutou * src/rbgobj_object.c (gobj_get_property): fix a bug introduced in r2740. (Gtk::Image#stock returns String not Symbol) 2008-06-23 Kouhei Sutou * src/lib/mkmf-gnome2.rb (create_makefile_at_srcdir): allow source directory that isn't absolute path. Reported by Guillaume Cottenceau. Thanks!!! 2008-06-19 Kouhei Sutou * src/rbgobj_type.c (rbgobj_lookup_class_by_gtype_body): add create_class option. * src/rbgobject.h (GTYPE2CINFO_NO_CREATE): add. * src/rbgobject.h, src/rbgobj_type.c (rbgobj_lookup_class_by_gtype_full): add. * src/rbgobj_typeinstance.c (each_cinfo): don't create object during GC to work with ruby 1.8.7. Reported by Kazuhiro NISHIYAMA. Thanks!!! 2008-06-14 Kouhei Sutou * ./: use test-unit not test-unit-ext. * test/glib-test-init.rb: add. * test/run-test.rb: use test/glib-test-init. 2008-06-11 Kouhei Sutou * src/lib/mkmf-gnome2.rb (check_ruby_func): include ruby.h in have_func test. * src/rbgobj_object.c (gobj_inspect): add const. * extconf.rb: include glib.h or ruby.h in have_func test. 2008-06-08 Kouhei Sutou * src/lib/mkmf-gnome2.rb (create_top_makefile): cleanup. 2008-05-23 Kouhei Sutou * test/run-test.rb: use which not --version to detect make. 2008-05-14 Kouhei Sutou * test/test_unicode.rb: - add uconv check. - add GLib version check. 2008-05-13 Kouhei Sutou * src/rbglib_keyfile.c (keyfile_load_from_dirs): fix index. 2008-05-02 Kouhei Sutou * src/rbgobj_type.c: fix style. 2008-05-02 Sjoerd Simons * src/rbgobj_type.c: Make rbgobj_lookup_class_by_gtype a thread critical section. Prevents issues if two ruby threads want to convert an unknown GObject class at the same time. 2008-05-02 Kouhei Sutou * src/rbglib.h (GERROR2RVAL): define. 2008-04-26 Kouhei Sutou * src/rbgutil.c (rbgutil_glist2ary_string) (rbgutil_gslist2ary_and_free, rbgutil_gslist2ary_boxed_and_free): fix not freed bug. * src/rbgutil.h (GLIST2ARY_STR, GLIST2ARY_STR_FREE): add. * src/glib2.def, src/rbgutil.c (rbgutil_glist2ary_string, rbgutil_glist2ary_string_and_free): add. * src/rbglib.h (RBG_INSPECT): add. * src/glib2.def: src/rbglib.c (rbg_rval_inspect): add. * src/rbglib.h (RVAL2CSTR_ACCEPT_NIL): use function instead of macro to avoid double evaluation. * src/glib2.def, src/rbglib.c (rbg_rval2cstr_accept_nil): add. 2008-04-22 Sjoerd Simons * src/rbglib_maincontext: Handle both thread->wait_for WAIT_FD and WAIT_SELECT properly. 2008-04-20 Sjoerd Simons * src/rbglib_maincontext: Properly handle the case where the poll setup function returns early. 2008-04-20 Kouhei Sutou * src/rbglib_maincontext.c: free old FDs. 2008-04-17 Sjoerd Simons * src/rbglib_maincontext.c: When preparing our source only add pollfds if we were not already polling for it. Fixes 100% cpu usage as soon as another ruby thread is blocked on a file descriptor. 2008-04-16 Sjoerd Simons * src/rbgobject.c: When initializing look at the complete inheritance tree to see if any superclass defined a specialized initialize function 2008-04-15 Kouhei Sutou * src/rbgutil.h: - GLIST2ARY_WITH_FREE -> GLIST2ARY_FREE. - GSLIST2ARY_WITH_FREE -> GSLIST2ARY_FREE. 2008-04-14 Kouhei Sutou * test/glib-test-utils.rb (GLibTestUtils#only_win32): use GLib.os_win32?. * src/rbglib_win32.c: implement g_win32_get_package_installation_directory_of_module() defined in 2.16. Maybe work... * test/glib-test-utils.rb: add only_win32. * test/test_win32.rb: add. * src/rbglib_fileutils.c: implement g_format_size_for_display() defined in 2.16. * test/test_file_utils.rb: add. * src/rbglib_keyfile.c: - implement g_key_file_load_from_dirs() defined in 2.14. - define G_KEY_FILE_DESKTOP_* defined in 2.14. * test/test_key_file.rb: add. * src/rbglib_utils.c: - implement g_get_user_XXX_dir() and g_get_system_XXX_dirs(). - implement g_get_user_special_dir() defined in 2.14. * test/test_utils.rb: add. * src/lib/glib2.rb (GLib::UserDirectory): remove DIRECTORY_ prefix. * src/rbglib.c: Init_glib_utils() use G_DEF_CLASS(). 2008-04-13 Kouhei Sutou * src/rbglib_unicode.c, test/test_unicode.rb: bind Unicode related functions added in GLib 2.14. * test/run-test.rb: use glib-test-utils.rb. * test/glib-test-utils.rb: add. * src/rbgobj_value.c (rbgobj_initialize_gvalue): support more objects. * src/rbgobj_object.c, src/rbgobj_boxed.c, src/rbgobj_param.c, src/rbgobj_enums.c, src/rbgobj_typeinterface.c, src/rbgprivate.h: export Ruby classes/modules associated fundamental GType privately. 2008-04-10 Kouhei Sutou * src/rbgobject.h: G_DEF_CLASS2 -> G_DEF_CLASS_WITH_GC_FUNC. * src/glib2.def: export g_connect_flags_get_type(). * extconf.rb, src/rbgobj_signal.c: make GSignalFlags, GConnectFlags and GSignalMatchType GLib::Enum or GLib::Flags. * test/test_signal.rb: add. * src/rbgobj_type.c, src/glib2.def (rbgobj_define_class): add. * src/rbgobject.h (GTYPE2CLASS), src/rbgobj_type.c (rbgobj_lookup_class_by_gtype): accept G_TYPE_INVALID. * src/rbgutil.h: - GLIST2ARYF -> GLIST2ARY_WITH_FREE. - GSLIST2ARYF -> GSLIST2ARY_WITH_FREE. * src/rbgobject.h: remove nonexistent rbg_{set,remote}_internal_poll_func. 2008-04-05 Sjoerd Simons * src/rbgutil_callback.c: Create the pipe inside rbgutil_start_callback_dispatch_thread to ensure it's created in a race-free way 2008-04-04 Kouhei Sutou * src/glib2.def: follow the recent changes. * extconf.rb, src/rbgutil_callback.c: use pipe() for communicating threads. * src/rbglib_bookmarkfile.c (bf_load_from_data): don't declare variable after some expression. 2008-04-01 Kouhei Sutou * src/rbglib.h (CSTR2RVAL2), src/lib/glib2.rb: cleanup. 2008-03-31 Kouhei Sutou * src/rbglib.h (RVAL2CSTR_ACCEPT_NIL): renamed from RVAL2CSTR2. * src/glib2.def: exported rbgobj_get_ruby_object_from_gobject. 2008-03-30 Kouhei Sutou * src/rbgobject.h (GOBJ2RVAL_UNREF): renamed from GOBJ2RVALU(). * src/rbgobj_object.c, src/rbgobj_param.c, src/rbgprivate.h: get_value -> get_ruby_object. * src/rbgobject.c: followed the above changes. * src/rbgobject.h: exported rbgobj_get_ruby_object_from_gobject(). 2008-03-23 Kouhei Sutou * src/rbglib.h (CSTR2RVAL_FREE): renamed from CSTR2RVAL2. 2008-03-22 Kouhei Sutou * src/rbgutil_callback.c (rbgutil_protect): - passed exception. - fixed missing type conversion. * src/lib/glib2.rb (GLib.exit_application): received exception. 2008-03-20 Kouhei Sutou * test/test_unicode.rb: fixed duplicated name. * test/run-test.rb: $VERBOSE = true. * src/rbgobj_enums.c, src/rbglib_error.c: used g_ascii_toupper() instead of toupper() to be locale independent. [Bug #1901843] Reported by Joseph Method. Thanks!!! 2008-03-15 Kouhei Sutou * src/lib/glib-mkenums.rb: used constants instead of consts. * test/test_mkenums.rb: added. * test/run-test.rb: required 'glib2'. * src/lib/glib-mkenums.rb: used $Id$ instead of $Rev$. * src/lib/glib-mkenums.rb: GLib::Enum -> GLib::EnumDefinition to avoid name conflict. * src/lib/glib-mkenums.rb: supported glib 2.16.1. [Bug #1886689] [Bug #1913301] Reported by Mikael Hallendal and mezz. Thanks!!! * ./, test/run-test.rb: used TestUnitExt. * test/run-test.rb: renamed from test/runner.rb. * test/: renamed from tests/. 2008-03-04 Kouhei Sutou * src/rbgobj_closure.c: used G_RELATIVE2 and "closures" ID for keeping GRClosure reference instead of G_ADD_CHILD to protect GRClosures from G_CHILD_REMOVE_ALL. 2008-02-21 Kouhei Sutou * src/rbgutil_callback.c: - used GAsyncQueue instead of pipe() because pipe() isn't portable. - rbgutil_{start,stop}_callback_handle_thread -> rbgutil_{start,stop}_callback_dispatch_thread. 2008-02-17 Kouhei Sutou * src/rbgutil_callback.c: initialized callback_handle_thread variable as nil. 2008-02-14 Kouhei Sutou * src/rbgutil_callback.c: callback handle thread isn't started automatically. Call rbgutil_start_callback_handle_thread() before some callbacks invoked. This change breaks Sjoerd's GStreamer bindings. Sorry. * src/rbglib_maincontext.c: don't use rb_thread_critical because we don't create a thread now. * src/rbgutil.h, src/glib2.def: exported rbgutil_{start,stop}_callback_handle_thread(). 2008-01-07 Kouhei Sutou * src/rbgobject.c (rbgobj_define_property_accessors), src/rbgobj_signal.c (rbgobj_define_action_methods): don't eval empty string because that crashes ruby 1.9.0. 2008-01-06 Kouhei Sutou * src/rbgobj_enums.c (rbgobj_init_flags_class): added "_" prefix to fix invalid predicate method name that starts with digits. e.g. 4mv? -> _4mv?. Or just ignore? * src/rbgobj_convert.c (rbgobj_convert_rvalue2gtype): implemented. 2008-01-04 Kouhei Sutou * src/rbglib.h (RARRAY_PTR, RARRAY_LEN): defined. * src/rbgobject.h (GPTR2RVAL, RVAL2GPTR): added. 2008-01-03 Kouhei Sutou * src/depend: don't use ftools. Reported by Carlo E. Prelz. Thanks!!! 2008-01-02 Kouhei Sutou * src/rbgobj_value.c, src/rbgobject.h, src/glib2.def (rbgobj_initialize_gvalue): added. (experimental) * src/rbgobj_convert.c, src/rbgprivate.h (rbgobj_convert_rvalue2gtype): should be implemented. 2007-12-31 Kouhei Sutou * src/rbgutil_callback.c: fixed ruby's thread check. * src/rbgutil_callback.c: fixed a wrong select() argument. Reported by Carlo E. Prelz. Thanks!!! 2007-12-29 Kouhei Sutou * src/rbglib_mainloop.c: moved poll related functions to ... * src/rbglib_maincontext.c: ... here. * src/rbglib_mainloop.c: supported ruby 1.9.0 thread model. * extconf.rb: removed a needless check. 2007-12-28 Kouhei Sutou * src/rbgobj_object.c: rb_hash_aset()'s key should be VALUE not ID. 2007-11-28 Kouhei Sutou * src/rbglib_mainloop.c (source_prepare_add_poll_fd): treated G_IO_HUP as except case not read case. 2007-11-27 Kouhei Sutou * src/rbglib_mainloop.c: don't use g_source_is_destroyed(). * extconf.rb: detected curr_thread. * src/rbglib_mainloop.c: supported ruby 1.8.6 p0. 2007-11-26 Kouhei Sutou * src/rbgutil_callback.c: used rb_thread_select() instead of rb_thread_wait_fd(). * src/rbglib_mainloop.c: used G_IO_IN as initial events. * src/utils_callback.c: renamed to ... * src/rbgutil_callback.c: ... this. * src/utils_int64.c: renamed to ... * src/rbglib_int64.c: ... this. * src/rbglib.c: followed the above changes. * src/rbglib_mainloop.c (source_check): fixed a typo. 2007-11-25 Kouhei Sutou * src/rbglib_mainloop.c: used GPollFD. 2007-11-23 Kouhei Sutou * tests/test_glib2.rb: added GC.start. 2007-11-21 Kouhei Sutou * src/rbglib_mainloop.c (source_prepare): checked pending signals. 2007-11-17 Kouhei Sutou * src/rbglib_mainloop.c: used GSource not poll func overriding. 2007-11-11 Kouhei Sutou * src/rbgobj_fundamental.c: re-added for making more flexible backward compatibility layer. * src/glib2.def, src/rbgcompat.h: followed the above change. * src/rbgobject.h (RG_DEF_CONVERSION), src/rbgcompat.h: used RG_ prefix not G_ prefix. * src/rbgobject.c: made GOBJ2RVAL overridable for non-fundamental type. * src/global.h: merged to src/rbgprivate.h and removed. * src/: followed the above changes. * src/glib2.def, src/depend: followed the below changes. * src/rbgobj_fundamental.c, src/rbgobj_convert.c, src/rbgobj_value.c, src/rbgobject.[ch], src/rbgobj_type.c: renamed to rbgobj_convert_* from rbgobj_fund_*. The previous API is still available but need to rebuild. * src/rbgprivate.h, src/rbgcompat.h: added. 2007-11-10 Kouhei Sutou * src/rbgobject.[ch], src/rbgobj_fundamental.c: made RVAL2GOBJU customizable. 2007-10-04 Kouhei Sutou * src/lib/mkmf-gnome2.rb: fixed build failure with top-level extconf.rb. Reported by andy. Thanks! 2007-10-03 Kouhei Sutou * src/rbgobject.c (rbgobj_ruby_object_from_instance2): don't use functions of Ruby for GTypeInstance. * src/rbglib_mainloop.c (ml_initialize): all arguments of GLib::MainLoop.new are optional. 2007-09-29 Kouhei Sutou * src/lib/mkmf-gnome2.rb (create_makefile_at_srcdir): don't use TOPDIR. 2007-08-30 Kouhei Sutou * src/rbglib_unicode.c (rbglib_m_unichar_get_script): G_TYPE_UNICODE_SCRIPT_TYPE -> G_TYPE_UNICODE_SCRIPT. * src/rbglib_maincontext.c (timeout_add_seconds): used g_timeout_add_seconds_full() not g_timeout_add_seconds(). * src/lib/mkmf-gnome2.rb: cleanup. 2007-08-30 Kazuhiro NISHIYAMA * src/lib/mkmf-gnome2.rb: re-supported build in no-source directory. 2007-08-14 Vincent Isambart * src/utils_int64.c: included rbglib.h instead of ruby.h because utils_int64.c uses the RVAL2CBOOL macro that is declared in rbglib.h and thus resulted in a dynamic link error on Mac that the system could not find a RVAL2CBOOL function. 2007-08-08 Kouhei Sutou * src/rbgobj_enums.c: supported convenience GEnum and GFlags notation. e.g.: GLib::UTF8.normalize(utf8, GLib::NormalizeMode::NFD) -> GLib::UTF8.normalize(utf8, :nfd) key_file.load_from_data(data, GLib::KeyFile::KEEP_COMMENTS | GLib::KeyFile::KEEP_TRANSLATIONS) -> key_file.load_from_data(data, [:keep_contents, :keep_translations]) * tests/test_enum.rb: added tests for the above feature. 2007-07-25 Sjoerd Simons * src/rbgobj_signal.c: Properly use the GValueArray api in emit_body. Causes all values in the parameter array to be unset after emission. Fixing some reference leaks. 2007-07-20 Masahiro Sakai * src/rbgobj_object.c, src/rbgobject.h: deperecate rbgobj_add_abstract_but_create_instance_class() and move abstract-type check from .allocate to dummy #initialize. 2007-07-16 Masahiro Sakai * src/rbgobj_type.c: use rbgobj_init_object_class() to initialize object class. * src/rbgobj_object.c, src/global.h: add new function rbgobj_init_object_class(). * src/rbgobj_object.c (rbgobj_gobject_new): check returned value of g_object_newv(). 2007-07-14 Masahiro Sakai * src/rbgobject.h: remove unused/undefined functions rbgobj_boxed_ref() and rbgobj_boxed_unref(). * src/rbgobject.c: new function rbgobj_invalidate_relatives(). * src/rbgobject.c: move GObject stuffs to rbgobj_object.c again. * src/rbgobj_object.c: deprecate rbgobj_object_create(). * src/rbgobj_boxed.c: deprecate rbgobj_boxed_create(). * src/utils_callback.c: brush up. 2007-07-13 Guillaume Cottenceau * src/rbglib_iochannel.c, src/rbglib_maincontext.c, src/rbglib_mainloop.c, src/rbglib_source.c, src/rbglib_utils.c, src/rbgobj_boxed.c, src/rbgobj_object.c, src/rbgobj_param.c, src/rbgobj_paramspecs.c, src/rbgobj_signal.c, src/rbgobj_type.c, src/rbgobj_typeinterface.c, src/rbgobj_value.c, src/rbgobject.c, src/utils_int64.c: replace RTEST uses by RVAL2CBOOL 2007-07-13 Guillaume Cottenceau * src/rbgobj_closure.c, src/rbgobj_enums.c, src/rbgobj_object.c, src/rbgobj_param.c, src/rbgobj_signal.c, src/rbgobj_type.c, src/rbgobj_typemodule.c, src/rbgobj_value.c, src/rbgobj_valuetypes.c: "? Qtrue : QFalse" => CBOOL2RVAL cleanup 2007-07-10 Guillaume Cottenceau * src/rbgobj_boxed.c: support passing nil to RVAL2BOXED, in order to pass NULL to glib/gtk 2007-07-10 Guillaume Cottenceau * src/rbgobject.c: kou says we should use NIL_P(foo) not foo == Qnil 2007-07-08 Masahiro Sakai * src/rbgutil.h: mark G_BLOCK_PROC() as deprecated. * src/*.c: use rb_block_proc() directly instead of using G_BLOCK_PROC(). * src/utils_callback.c (callback_info_run): use rbgutil_protect(). * src/utils_callback.c (listen_callback_pipe): call rb_thread_schedule() to activate newly created thread. * src/utils_callback.c (invoke_callback_in_ruby_thread): g_mutex_lock(info.done_mutex) should be done before writing data to pipe. 2007-07-07 Masahiro Sakai * src/extconf.rb, src/rbglib_messages.c: call ruby_set_current_source() only if it exists. Current ruby 1.9 doesn't have it. * src/extconf.rb, src/utils_callback.c: don't use is_ruby_native_thread on ruby 1.9. * src/rbglib_messages.c, extconf.rb: fix to compile on ruby 1.9: ruby_sourcefile -> rb_sourcefile() ruby_sourceline -> rb_sourceline() * src/rbglib_message.c, rbglib_completion.c: remove ruby 1.6 support. * src/rbgobj_strv.c (strv_from_ruby): fix not to double free. * src/rbglib_bookmarkfile.c: fix to compile on ruby 1.9: RSTRING(v)->ptr -> RSTRING_PTR(v), RSTRING(v)->len -> RSTRING_LEN(v). * test/test_glib2.rb: add some tests. * src/rbbutil.h: change G_PROTECT_CALLBACK() to support calling from non-ruby thread. * src/rbgutil.c: move rbgutil_protect() into utils_callback.c. * src/rbgobj_closure.c: separate stuffs that relate to thread into utils_callback.c. * src/utils_callback.c: new file for callback invocation. 2007-07-06 Masahiro Sakai * src/rbgobj_boxed.c (rbgobj_boxed_get): type check should be done before doing Data_Get_Struct(). 2007-07-06 Masahiro Sakai * src/rbgobj_boxed.c (rbgobj_boxed_get): fix argument type to match with its prototype. Repored by Guillaume Cottenceau. [ruby-gnome2-devel-en] HEAD doesn't build 2007-07-04 Masahiro Sakai * src/global.h, src/rbglib.h, src/rbgobj_boxed.c, src/rbgobj_closure.c, src/rbgobj_enums.c, src/rbgobj_object.c, src/rbgobj_param.c, src/rbgobj_typeinstance.c, src/rbgutil.c, src/rbgutil.h, extconf.rb: remove ruby-1.6.x support and old yarv support. 2007-07-02 Masahiro Sakai * src/rbglib_spawn.c, src/rbgobj_object.c, src/rbgobj_signal.c, src/rbgobj_type.c, src/rbgobj_typemodule.c, src/rbgobject.c: remove unnecessary StringValue() invocations. 2007-07-01 Masahiro Sakai * src/rbgobj_typeinterface.c: brush up and should not call g_type_default_interface_ref(G_TYPE_INTERFACE) which causes SEGV. 2007-06-28 Masahiro Sakai * tests/test_glib2.rb (TestGLib#test_signal_handler_disconnect_and_gc): new test. 2007-06-23 Masahiro Sakai * src/rbgobj_closure.c: detach closure->rb_holder from GObject when the closure is invalidated. [ruby-gnome2-devel-en] Signal handling causes memory leaks 2007-06-20 Masahiro Sakai * src/rbgobj_typeinterface.c: Make interfaces not to be decendants of GLib::MetaInterface. This change makes Mutoh-san's change at 2007-06-16 unnecessary. * src/rbgobj_typeinterface.c: fix GLib::MetaInterface#gtype; generic_gtype() -> generic_s_gtype(). * src/rbglib_mainloop.c: use rbglib_poll() if possible, regardless of ruby version. (ruby 1.5.4 is no longer considerd.) * src/rbgobj_closure.c: fixed a segfault which is caused by accessing freed GRClosure. 2007-06-16 Masao Mutoh * src/rbgobj_signal.c: Fixed a segfault using Glade. By syscrash2k Bug#1709389. 2007-06-16 Masahiro Sakai * extconf.rb, src/rbglib.h, src/rbglib.c, src/rbglib_convert.c, src/rbglib_iochannel.c, src/rbglib_keyfile.c, src/rbglib_mainloop.c, src/rbglib_spawn.c, src/rbglib_unicode.c, src/rbgobj_object.c, src/rbgutil.c: fix to compile on ruby 1.9; RSTRING(v)->ptr -> RSTRING_PTR(v), RSTRING(v)->len -> RSTRING_LEN(v), ruby_errinfo -> rb_errinfo(), and so on. 2007-06-16 Masao Mutoh * src/rbgobj_typeinterface.c: GLib::Interface.property, .install_property, .properties raises a NoMethodError when they call as the instance method. 2007-06-13 Masahiro Sakai * src/rbgobj_closure.c: Simplify GRClosure data structure by removing GRClosureHolder. 2006-12-29 Masao Mutoh * src/lib/mkmf-gnome2.rb: Work ruby-1.8.4 or earlier again. by Kouhei Sutou. * src/rbglib.h: Increment minor version. 2006-12-28 Masao Mutoh * src/lib/glib2.rb: Remove to support dropline GTK2-Runtime DLL. * src/lib/glib-mkenums.rb: Fixed a parse error on GLib-2.6. 2006-12-26 Kouhei Sutou * src/lib/glib-mkenums.rb: added a space before comment end mark. 2006-12-26 Masao Mutoh * extconf.rb: Code cleanup. * src/lib/glib-mkenums.rb: Reimplement as a pure ruby library. * src/lib/mkmf-gnome2.rb: Work MinGW again. * src/rbglib_win32.c: Fix to compile problems. 2006-12-25 Kouhei Sutou * src/lib/glib2.rb (GLib.utf8_validate): removed needless code. 2006-12-24 Masao Mutoh * src/rbglib_convert.c: GLib.utf8_validate becomes deprecated. Use GLib::UTF8.validate instead. * sample/bookmarkfile.rb: Add for GLib::BookmarkFile sample. 2006-12-23 Masao Mutoh * src/rbglib_bookmarkfile.c: Add GLib::BookmarkFile * src/rbglib_win32.c: Code cleanup. Imprement all functions. 2006-12-21 Masao Mutoh * src/rbglib_keyfile.c: Add GLib::Keyfile. * sample/keyfile.rb: Add a sample for GLib::KeyFile. 2006-12-16 Masao Mutoh * src/rbgobj_closure.c: Fix warnings on x86_64. * src/rbglib_unicode.c: Code cleanup. * src/lib/glib-mkenums.rb: Make GLib::MkEnums. * src/lib/mkmf-gnome2.rb: Follow above change. 2006-12-11 Masao Mutoh * src/rbglib_maincontext.c: Add GLib::Source.current for GLib-2.12. Add GLib::MainContext#owner? for GLib-2.10. GLib::Timeout#add_seconds, #source_new_seconds for GLib-2.14. 2006-12-10 Kouhei Sutou * src/rbglib_unicode.c: - GLib::Unicode::XXX -> GLib::Unicode::Type::XXX. - GLib::UnicodeBreak::XXX -> GLib::Unicode::BreakType::XXX. - GLib::UnicodeScript::XXX -> GLib::Unicode::Script::XXX. * tests/test_unicode.rb: followed the changes. * src/lib/glib2.rb: GLib.utf8_validate is deprecated. Use GLib::UTF8.validate instead. * src/rbglib_unicode.c: - moved GLib.unichar_* to GLib::UniChar.*. - moved GLib.unicode_* to GLib::Unicode.*. - moved GLib.utf8_* to GLib::UTF8.*. - moved GLib.utf16_* to GLib::UTF16.*. - moved GLib.ucs4_* to GLib::UCS4.*. - removed GLib::UNICODE_*. - removed GLib::UNICODE_BREAK_*. - removed GLib::NORMALIZE_*. * tests/test_unicode.rb: followed the changes. 2006-12-09 Kouhei Sutou * src/rbglib_unicode.c: - merged GLib.utf8_get_char_validate to GLib.utf8_get_char. - GLib.unichar_control? -> GLib.unichar.cntrl? - added GLib.utf8_reverse. * tests/test_unicode.rb: followed the changes. * src/rbglib_unicode.c, tests/test_unicode.rb: completed. 2006-12-08 Kouhei Sutou * src/rbglib_unicode.c: added. not completed yet. * src/rbglib.c: added Init_glib_unicode(). * tests/test_unicode.rb: added tests for Unicode related bindings. 2006-12-07 Kouhei Sutou * src/rbgobj_closure.c (rclosure_unref): set Qnil to disposed rclosure->rb_holder. 2006-12-07 Guillaume Cottenceau * src/rbgobj_closure.c (rclosure_invalidate): don't check rclosure->rb_holder because the check isn't necessary. 2006-12-06 Kouhei Sutou * src/lib/glib-mkenums.rb: removed garbages. 2006-12-05 Kouhei Sutou * src/lib/glib-mkenums.rb: added. * src/lib/mkmf-gnome2.rb (glib_mkenums): added. * extconf.rb: used glib_mkenums. 2006-12-04 Kouhei Sutou * tests/runner.rb: used Test::Unit::Autorunner.run. * tests/test-glib2, tests/test-iocahnnel.rb: renamed to ... * tests/test_glib2, tests/test_iochannel.rb: ... them for adapting Test::Unit's default configurations. * tests/test-iochannel.txt, tests/test-iochannel-sjis.txt: removed needless files. * tests/runner.rb: setup $LOAD_PATH for test environment. * tests/test-iochannel.rb: rewrote with Tempfile. I want to suppress GLib-WARNING and GLib-CRITICAL messages but I don't know how to do the thing... * src/rbglib_iochannel.c: made "U" each time for avoiding GC problem. 2006-11-22 Masao Mutoh * src/rbgobj_typeinterface.c: Fixed a bug when accessing the properties of GLib::Instantiatable. 2006-11-05 Masao Mutoh * src/lib/mkmf-gnome2.rb: Set "0" to micro version of version header if pkg-config --modversion doesn't have micro version. Bug #1590573. 2006-10-12 Kouhei Sutou * src/rbgobj_closure.c: improved alive check. 2006-09-26 Kouhei Sutou * src/lib/mkmf-gnome2.rb: used $INCFLAGS instead of $CFLAGS. 2006-09-25 Kouhei Sutou * src/rbgobj_closure.c: improved closure handling. I hope this change fixes a closure related segmentation fault bug. - added available data marks and checked that marks. 2006-09-21 kangabroo * src/rbgobj_enums.c: fixed typo. bug #1561675. 2006-08-17 Masao Mutoh * src/rbgobj_object.c: Compiled on GLib-2.8.x again. 2006-07-09 Kouhei Sutou * src/glib2.def, src/rbgobject.c, src/rbgobject.h (rbgobj_ruby_object_from_instance_with_unref): added convenience function. * src/rbglib.h (GOBJ2RVALU): added convenience macro. * src/rbgobj_object.c: implemented GLib::InitiallyUnowned. * src/rbglib.h (RVAL2CSTR2): added convenience macro. 2006-06-30 Masao Mutoh * src/rbglib_mainloop.c, rbgobject.h, glib2.def: Improve to support Win32. rbg_(set|remove)_internal_poll_func are externed. 2006-06-28 Masao Mutoh * src/lib/mkmf-gnome2.rb: Fixed wrong include path. * src/rbglib.h: Increment version info. 2006-06-18 Masao Mutoh * src/rbgobj_type.c: Fixed a problem when the object which extends Module can't access the instance methods. Reported by Laurent Sansonetti and Bug #1496185. 2006-06-17 Masao Mutoh * sample/type-register?.rb: Remove Gtk.init. * src/lib/glib2.rb: Added GLib.exit_application. This is called when it raises the exception in a callback proc and it isn't catched in the proc. * src/rbgutil.c: Added G_PROTECT_CALLBACK. You need to wrap the functions which run in the mainloop with this. This is based on rclosure_marshal_do() in src/rbgobj_closure.c. * src/rbgobj_closure.c: Apply above G_PROTECT_CALLBACK. * src/rbgutil.[ch]: Added GLIST2ARYF, GLIST2ARY2F, GSLIST2ARYF, GLIST2ARY2F. They free the list with g_list_free() or g_slist_free() internal. * src/glib2.def: Follow above changes. 2006-06-09 Sjoerd Simons * src/rbgobj_object.c: Only let the GObject mark function retrieve object properties that it will actually mark. Which is currently just other GObjects 2006-06-05 Masao Mutoh * src/rbgobj_closure.c, glib2.def: Works on Windows again. 2006-05-29 Masahiro Sakai * src/rbgobjvalue.c: Use g_type_set_qdata and g_type_get_qdata instead of ruby's hash table. * src/rbgobj_singal.c: new function gobj_sig_connect_impl extracted from gobj_sig_connect and gobj_sig_connect_after. * src/rbgobj_signal.c: Make eNoSignal and _signal_list to be static. 2006-05-27 Masahiro Sakai * src/rbgobj_object.c: Remove GLib::Object#singleton_method_added. Now we can't define signal handlers by defining singleton methods. * src/rbgobj_typeinstance.c (each_cinfo): Fix to traverse ancestor's cinfo. * src/rbgobj_paramspecs.c, src/rbgobj_value.c: Use RVAL2GOBJ instead of rbgobj_param_spec_get_struct(). * src/rbgobj_param.c: Rename rbgobj_param_spec_get_struct() to rbgobj_get_param_spec(). * src/rbgobject.c: Remove rbgobj_ruby_object_from_instance_if_exist and add rbgobj_ruby_object_from_instance2. * src/rbgobject.c: Remove rbgobj_get_value_from_gobject_if_exist and extend rbgobj_get_value_from_gobject by adding one argument. * src/rbgobj_param.c: Remove rbgobj_get_value_from_param_spec_if_exist and extend rbgobj_get_value_from_param_spec by adding one argument. * src/rbgobject.h, src/global.h, src/glib2.def, src/rbgobj_typeinstance.c: Follow above changes. * src/rbgobj_typeinterface.c: New file. * src/rbgobj_type.c, src/rbgobject.c: separate some interface stuffs into src/rbgobj_typeinterface.c. * src/rbgobj_typeinstance.c: New file. * src/rbgobj_type.c, src/rbgobject.c, rbgobj_param.c: separate some cInstantiatable stuffs into rbgobj_typeinstance.c. * src/global.h: ditto. * src/rbgobj_closure.c: Revert changes of 2006-04-15. We shouldn't use Data_Make_Struct in rclosure_marshal since this function could be called from arbitrary threads. * src/rbgobj_closure.c: simplify codes a bit. * src/rbgobject.c, src/rbgobj_value.c, rbgobject.h, src/glib2.def: Add new APIs: void rbgobj_gc_mark_instance(gpointer instance) and void rbgobj_gc_mark_gvalue(GValue* value). * src/rbgobject.c: Change to call `mark` and `free` functions of all associated cinfo (not only direct one). * src/rbgobj_object.c: Register mark procedure which marks each property value. So that each property value is protected from GC whenever the owner is alive. * src/rbgobj_param.c: Add rbgobj_get_value_from_param_spec_if_exist. * tests/test-glib2.rb (test_inheritance_and_gc): call GC.start. 2006-05-27 Kouhei Sutou * src/rbglib_maincontext.c: fixed idle/timeout callback memory leak. * src/rbgobject.c: added rbgobj_get_relative_removable. * src/rbgobject.h: ditto. * src/glib2.def: ditto. * src/rbglib_source.c: moved GLib::Source.remove to rbglib_maincontext.c * src/rbglib.c: initialize source before main_context. 2006-05-26 Sjoerd Simons * src/rbgobj_closure.c: Ensure that a signal handler in ruby is always run in a ruby native thread. This allows signals coming from non-ruby native threads to be handled correctly. Needs ruby configured with --enable-pthread to work (otherwise the behaviour isn't changed) 2006-05-26 Sjoerd Simons * src/rbglib.h, src/global.h: Move the 64 bit integer util functions to the public header 2006-05-27 Masahiro Sakai * src/rbgobj_signal.c: Fix the format string of rb_raise to match with actual arguments. 2006-05-26 Masahiro Sakai * extconf.rb, src/rbgobj_rbgobj_closure.c: fix compilation error on YARV. 2006-05-23 Sjoerd Simons * src/rbgobj_fundamental.c: Fixed typo. 2006-05-18 Kouhei Sutou * src/lib/pkg-config.rb (PKGConfig#have_package): accepted 0.X.X version as check target version. 2006-05-17 Masao Mutoh * src/rbgobj_strv.c: Removed GLib::Strv because they are useless. * src/rbgobj_valuearray.c: Removed GLib::ValueArray. 2006-05-17 Sjoerd Simons * src/rbgobj_valuearray.c: Added. * src/rbgobj_closure.c: Fixed crash when handling exception coming from an signal handler. 2006-05-14 Sjoerd Simons * src/rbgobj_enums.c: Don't crash if a genum's nick is uninitialized. * src/rbglib_completion.c: Fixed GLib::Completion#remove_items. * src/glib2.def, global.h, rbgobj_type.c, rbgobj_value.c, rbgobject.[ch], rbgobj_fundamental.c: Added to be able to add new fundamental object to Ruby/GLib2 such as GLib::Object, GLib::Boxed. 2006-04-20 Kouhei Sutou * src/rbgobj_closure.c (g_rclosure_attach): Fixed a bug GLib::Object.type_register doesn't work. * src/rbgobj_type.c: Fixed a bug GLib::MetaInterface#gtype doesn't work. * src/rbgobj_closure.c: Fixed a closure reference count bug. 2006-04-19 Kouhei Sutou * src/rbgobj_type.c (rbgobj_lookup_class): fixed typo. 2006-04-15 Kouhei Sutou * src/rbgobj_closure.c (rclosure_marshal, rclosure_marshal_body): Changed an argument type to VALUE from struct marshal_arg *. 2006-03-18 Kouhei Sutou * src/rbgobj_closure.c: Fixed memory leak. Held closure in each object instead of using global table to protect GRClosure from Ruby's GC. Each function using GRClosure needs to call g_rclosure_attach to protect GRClosure from Ruby's GC. * src/glib2.def: Added g_rclosure_attach. * src/rbgobject.h: ditto. * src/rbgobj_object.c: Called g_rclosure_attach. * src/rbgobj_signal.c: ditto. 2006-03-11 Joao Pedrosa * src/rbglib_win32.c: Fix a typo on win32. 2006-02-08 Kouhei Sutou * src/rbglib_win32.c: Supported GLib.win32_locale and GLib.win32_locale_filename_from_utf8. * src/rbglib_i18n.c: Supported GLib.language_names. 2006-01-14 Kouhei Sutou * src/rbglib_source.c: GLib::Source#remove -> GLib::Soruce.remove. 2005-12-17 Masao Mutoh * src/rbgobj_signal.c: Fixed to use G_BLOCK_PROC. 2005-11-23 Masao Mutoh * src/rbglib_timer.c: Fix to compile on Cygwin. 2005-11-14 Masao Mutoh * src/rbglib.h: Increment micro version. * src/rbgobject.h, glib2.def: Fixed problems on Win32. 2005-11-05 Masao Mutoh * src/rbgobject.[ch]: Added G_CHILD_REMOVE_ALL. 2005-11-03 Masao Mutoh * src/rbglib_mainloop.c: rb_thread_wait_for waits 10ms instead of 100ms to avoid to lose any signals for Win32. Report by MIYAMUKO Katsuyuki. * src/rbgobject.[ch]: Added G_CHILD_SET, _UNSET, _ADD, _REMOVE. * src/rbgobj_object.c: Keeps ruby objects as instance variables of the object not to be GCed(GLib::Object#(set|get)_property). * src/rbgobject.c: Fixed memory leaks. Bug #1341573. Retrieve the code from 0.13.0. So, other libs need to support G_CHILD_* to avoid Tomasz's problem(2005-09-15). 2005-10-16 Masao Mutoh * src/rbglib.h: Increment version information. * src/rbglib_mainloop.c: Fixed to compile on Win32. 2005-10-15 Masao Mutoh * src/rbgobj_type.c, rbglib_timer.c, rbglib_completion.c, rbgobject.c, rbgobj_type.c, rbglib_messages.c: Fixed a compilation errors/warnings under GTK+-2.0/Ruby-1.6. * src/rbglib.c, src/rbglib_timer.c: Added GLib::Timer. * sample/timer.rb: Added. * src/rbglib_completion.c: Added GLib::Completion. * sample/completion.rb: Added. 2005-10-10 Masao Mutoh * src/rbglib.c: Added constants from "Limits of Basic Types", "Numerical Definitions". * src/rbglib_shell.c: Added GLib::Shell. * sample/shell.rb: Added. 2005-10-08 Masao Mutoh * src/lib/mkmf-gnome2.rb: Added make_version_header. 2005-10-07 Masao Mutoh * src/rbglib_mainloop.c: Works with ruby threads and signal handlers. Reported by Bram Senders. 2005-10-05 Masao Mutoh * src/rbgobj_enums.c: Supports spaces in nick names. Reported by Detlef Reichl. 2005-10-04 Masao Mutoh * src/lib/mkmf-gnome2.rb: Fix a bug to compile Ruby-GNOME2 with Ruby/Cairo on Win32. * src/rbglib_utils.c: Fix a linking error on Win32. * extconf.rb: ditto. 2005-09-29 Masao Mutoh * src/rbglib.c: Added GLib::BUILD_VERSION. 2005-09-18 Masao Mutoh * src/rbgobj_type.c: Add GLib::MetaInterface#install_property, #property, #properties. * src/rbgobject.c: Doesn't wrap the set_foo functions for construct only properties by Sven Herzberg [Bug #1192975] 2005-09-15 Masao Mutoh * src/lib/glib2.rb: Supports Ruby-GetText-Package. You can use GetText methods unless "require 'gettext'". And it works in English if the users don't have Ruby-GetText-Package. * src/rbgobject.c: Keep the ruby object when the GObject is removed by C side. Tomasz Wegrzanowski. 2005-09-13 Masao Mutoh * src/rbglib_messages.c: Show Warning messages unless -d option. Pointed out by Guillaume Cottenceau. 2005-09-12 Masao Mutoh * src/rbgobject.c (rbgobj_instance_from_ruby_object): Fixed the error messages "TypeError: fundamental type glong isn't supported" to "TypeError:Fixnum isn't supported". Pointed out by Guillaume Cottenceau. 2005-09-08 Kouhei Sutou * src/rbgobj_boxed.c (rbgobj_make_boxed): Return nil if boxed object is NULL. 2005608-21 Pascal Terjan * src/rbglib_utils.c: Added GLib.listenv and .host_name (2.8) 2005-07-30 Masao Mutoh * src/rbglib.h: Increment version. * sample/type-register.rb: Fix a bug. 2005-07-27 Masao Mutoh * src/lib/pkg-config.rb: Added PKGConfig.name, .description, .provides, .requires. 2005-07-26 Masao Mutoh * src/rbglib_iochannel.c, rbglib_maincontext.c: Works on Win32 again. 2005-07-24 Masao Mutoh * src/lib/pkg-config.rb: Added PKGConfig.list_all. 2005-07-23 Masao Mutoh * extconf.rb, src/rbglib_maincontext.c, rbglib_iochannel.c: Fix to work on ruby-1.6.8, GTK+-2.0.6. * src/rbglib_iochannel.c, rbgobj_object.c: Fix a compiling warning. 2005-07-15 Masao Mutoh * sample/iochannel.rb, timeout.rb: Modified header comments. 2005-07-10 Masao Mutoh * sample/iochannel.rb: Added. 2005-07-02 Masao Mutoh * tests/test-iochannel.*: Added tests for GLib::IOChannel. 2005-06-30 Masao Mutoh * src/rbglib_iochannel.c: Rename GLib::IOChannel#fd => #fileno, #to_i. Improved #seek. 2005-06-29 Masao Mutoh * src/rbglib_iochannel.c: Added GLib::IOChannel#each_char, #each, #each_line. 2005-06-28 Masao Mutoh * src/rbglib_iochannel.c: Rename GLib::IOChannel#read_chars => #read. Unify GLib::IOChannel#read_to_end => #read. 2005-06-26 Masao Mutoh * src/rbglib_iochannel.c: Rename GLib::IOChannel#read_unichar => #readchar. #read_line => #readline. Add #gets, #getc. 2005-06-16 Masao Mutoh * src/rbgobj_strv.c: Fix double free error. * src/rbglib_iochannel.c: Added GLib::IOChannel. * src/rbglib.c, rbgobject.h: ditto. 2005-03-24 Masao Mutoh * sample/spawn.rb: Add a comment. Bugs:1159417. * extconf.rb: Add require gtherad-2.0. Bugs: 1159413 2005-03-21 Vincent Isambart * src/lib/pkg-config.rb: Renames the "libs" local variable to "libraries" to work ruby-1.9.x. 2005-03-14 Masao Mutoh * src/rbglib.h, rbgobject.h: Move some macros/definitions to rbgobject.h Reported by Vincent Isambart. * src/rbglib_maincontext.c: Added GLib::MainContext#query. 2005-03-13 Masao Mutoh * sample/idle.rb, timeout.rb, timeout2.rb: Added. * src/rbglib_pollfd.c: Added GLib::PollFD. * src/rbglib_source.c: Added GLib::Source. * src/rbglib_maincontext.c: Added GLib::MainContext#find_source, #add_poll, #remove_poll, GLib::Timeout, GLib::Idle, GLib::ChildWatch. * src/rbglib.[ch]: Support GLib::PollFD, GLib::Source. 2005-03-12 Masao Mutoh * src/rbglib_mainloop.c: Added GLib::MainLoop. * src/rbglib_maincontext.c: Added GLib::MainContext. * src/rbglib.[ch]: Support GLib::MainLoop, GLib::MainContext. 2005-03-06 Masao Mutoh * src/rbglib_threads.c, extconf.rb: Fix compiling problem on MSVC++. 2005-03-05 Masao Mutoh * sample/spawn.rb: Added. * README: Revised. 2005-02-26 Masao Mutoh * src/rbglib.c, rbglib_threads.c: Added GLib::Threads. * src/lib/pkg-config.rb: Added PKGConfig.cflags_only_I, .cflags_only_other. * src/rbglib.h: Increment version information. 2005-02-26 KATO Kazuyoshi * src/rbgobj_type.c (rbgobj_lookup_class): Fixed a problem in Ruby 1.9. [ruby-list:40518] [ruby-dev:23690] 2005-02-22 Masao Mutoh * src/lib/glib2.rb: Removed to call GLib::Log.cancel_handler. 2005-02-17 Masao Mutoh * src/lib/mkmf-gnome2.rb: Don't remove Makefile with 'nmake clean'. 2005-02-15 Masao Mutoh * README, COPYING.LIB: Replace "GNU LIBRARY GENERAL PUBLIC LICENSE" to "GNU LESSER GENERAL PUBLIC LICENSE". 2005-02-09 Masao Mutoh * src/lib/glib2.rb: Fix the default error level. 2005-02-02 Masao Mutoh * src/rbglib_messages.c: Fix a compiling warning on Cygwin. 2005-02-01 Masao Mutoh * src/lib/mkmf-gnome2.rb: Change checking-rules order. Added GTK_BASE_PATH environment variable option for Win32. * src/rbglib.c, rbglib_convert.c, rbgutil.h, rbgobject.h: Remove to include glib.h directly. 2005-01-31 Masao Mutoh * src/rbglib_messages.c: Fix segfault, and make it simple. Now it doesn't raise Exception, because of bad influence to other libs such as gnomeprint. 2005-01-30 Masao Mutoh * extconf.rb: Follow mkmf-gnome2.rb changes. * src/lib/pkgconfig.rb: Separated from mkmf-gnome2.rb. 2005-01-28 Masao Mutoh * src/rbglib_message.c, rbglib_spawn.c, rbgobject.c, rbgobj_boxed.c, rbgobj_closure.c,rbgobj_enums.c,rbgobj_object.c, rbgobj_type.c, src/lib/mkmf-gnome2.rb: Support MS VC++. * src/lib/mkmf-gnome2.rb: Added setup_win32, add_depend_package. * src/glib.def: Added rbgobj_register_class. 2005-01-23 Masao Mutoh * src/lib/glib2.rb: Remove $KCODE="U". Reported by Dafydd Harries. Added header information. 2005-01-09 Masao Mutoh * src/lib/glib2.rb: Improved error handling. * src/rbglib_messages.c: ditto. * src/rbgobj_strv.c: Added for GLib-2.4.x. Support GStrv as Array. * src/rbgobject.c: Support GStrv. 2004-11-21 Masao Mutoh * src/rbglib_messages.c, src/lib/glib2.rb: Rewrite code to C for stablity. 2004-11-14 Masao Mutoh * src/rbglib.h: Increment version information. 2004-11-03 Masao Mutoh * src/rbglib_messages.c: Works again for ruby-1.8.x. Reported by Kohei Sutou. 2004-10-31 Masao Mutoh * src/rbglib_messages.c: Check the paratmeter is Block or not. 2004-10-22 Masao Mutoh * src/lib/glib2.rb: Added GLib.check_binding_version? * src/rbglib_utils.c: GLib.check_version: Use static variables instead of MACROS. GLib.check_version -> GLib.check_version?. * sample/utils.rb: ditto. 2004-10-20 Masao Mutoh * src/rbglib_convert.c: Implemented GLib::ConvertError. 2004-10-18 Masao Mutoh * src/lib/mkmf-gnome2.rb: Added PKGConfig.modversion, .check_version?. PKGConfig#have_package accept major, minor micro version to check the module version correctly. Pointed out by Kouhei Sutou. 2004-10-17 Vincent Isambart * src/lib/mkmf-gnome2.rb: Renamed add_uniq_to_objs to add_obj. 2004-10-17 Vincent Isambart * src/lib/mkmf-gnome2.rb: Added the add_uniq_to_objs function. 2004-09-23 Masao Mutoh * src/lib/glib2.rb: Renamed GLib::Log.set_error_domain to GLib::Log.set_log_domain. 2004-09-23 Masao Mutoh * src/lib/glib2.rb: Improved log handling. Define GLib::ERROR_DOMAIN, GLib::Object::LOG_DOMAIN, GLib::Thread::LOG_DOMAIN, GLib::Module::LOG_DOMAIN. 2004-09-21 Masao Mutoh * src/lib/glib2.rb: Add GLib::Log.set_error_domain for improvement error handling. 2004-09-03 Masao Mutoh * src/lib/glib2.rb: Set $KCODE to "U". 2004-08-22 Masao Mutoh * src/rbgobj_enums.c: makes rbgobj_define_const to a global function. * src/rbglib_error.c: Fix bugs. Re-implement rbgerr_define_gerror. 2004-08-19 Masao Mutoh * src/rbgobj_type.c: rbgobj_define_class() can define parent compulsorily. * src/rbgobj_param.c, rbgobj_object.c, rbgobj_boxed.c: Follow above change. * src/rbgerror.c, rbglib.h: Added. Replace rbgutil_gerror2exception. * src/rbgutil.[ch]: Removed rbgutil_gerror2exception. * src/rbgfileutils.c: Added for GLib::FileError. * src/rbgutil.c: Improved RAISE_GERROR. * src/rbglib.c, glib2.def: Follow these changes. 2004-08-15 Masao Mutoh * src/rbglib.h: Increment version number. 2004-08-07 Masao Mutoh * src/rbglib_spawn.c: Fix warnings. * src/rbgobject.c: Fix a warning. 2004-08-04 Masao Mutoh * src/rbglib.h: Define GPid when GLib < 2.4.0. 2004-08-02 Masao Mutoh * src/rbglib_spawn.c: Change the parent of GLib::Spawn*Error to StandardError from SystemCallError. Added GLib::Spawn#async_with_pipes, #async, #sync. Make uniform of the return values of GLib::Spawn#command_line_sync to #sync. 2004-08-01 Masao Mutoh * src/rbglib.h, glib2.def: Export rbglib_spawn_error() for Gdk::Screen#spawn_on_screen. Increment version. 2004-07-31 Masao Mutoh * src/rbglib.c: setlocale parameter was changed. LC_CTYPE and LC_MESSAGES are set not LC_ALL. 2004-07-24 Masao Mutoh * tests/test-glib2.rb: Removed ^M. Pointed out by Laurent Sansonetti. * src/rbglib.c: Version informations use variables not macros. Added GLib::INTERFACE_AGE, GLib::BINARY_AGE. Pointed out by Jeremy Henty 2004-05-21 Masao Mutoh * src/rbglib.h. glib2.def: Fixed a problem with rbg_cstr2rval_with_free reported by Joao Pedrosa. 2004-05-16 Masao Mutoh * src/rbgobject.c (rbgobj_define_property_accessor): Supports interface properties (Since 2.4). * src/rbgobj_type.c (rbgobj_init_interface): ditto. 2004-05-15 Masao Mutoh * src/rbglib.[ch]: Add CSTR2RVAL2 which free given char* area. 2004-05-05 Laurent Sansonetti * src/rbglib_spawn.c: Fixed a memory overflow bug in the spawn_error table. 2004-05-01 Masao Mutoh * src/rbglib_spawn.c: Fix an initial error on some platforms to restrict errno to exist the environment. Reported by Laurent Sansonetti. 2004-04-30 Masao Mutoh * sample/utils.rb: Add a sample. * src/rbglib_utils.c: Add/Modify some methods. * src/lib/glib2.rb: Fix a bug which GLib.__add_one_arg_setter(klass) doen't work for module function and moved from src/rbgutil.c. 2004-04-30 Pascal Terjan * src/rbglib_utils.c: Added. * src/rbglib.c: Follow rbglib_utils.c added. 2004-04-27 Masao Mutoh * src/rbgobj_type.c: Accept a ruby class when GType[...] is required. * sample/type-register2.rb: Added. * src/rbglib_spawn.c: Improve error classes. Separate module from GLib to GLib::Spawn. Add GLib::Spawn.close_pid. 2004-04-27 Kazuhiro NISHIYAMA * src/rbglib_spawn.c: Added. * src/rbglib.c: Follow above changes. 2004-04-20 Masao Mutoh * src/rbglib_messages.c: Fix bugs, Add GLib::Log.log, set_fatal_mask, set_always_fatal, some constants. * src/lib/glib2.rb: Add GLib::Log.error, message, critical, warning. 2004-04-15 Masao Mutoh * src/rbglib_convert.c: Add GLib.utf8_validate. * src/rbglib.c: Commented out Init_mem(), because of "cross-thread violation" with Gst::Thread. 2004-03-24 Masao Mutoh * src/rbgutil.c: RAISE_GERROR() returns error messages in UTF-8. 2004-03-14 Masao Mutoh * src/rbglib.h: Increment version number. 2004-03-10 Masao Mutoh * src/rbgobj_type.c: Fix a compilation error on MinGW. 2004-03-07 Masao Mutoh * sample/type-register.rb: Omit a parameter for type_register. 2004-03-06 Masao Mutoh * src/rbglib.h src/rbgobj_object.c src/rbgobj_paramspecs.c src/rbgobj_signal.c src/rbgobj_type.c src/rbgobject.c src/rbgobject.h src/rbgutil.c src/lib/mkmf-gnome2.rb: Update Copyright. * src/lib/mkmf-gnome2.rb: Work under ruby-1.8.1 or later on Cygwin. 2004-03-05 Masao Mutoh * src/rbgobj_object.c: Fix a memleak for GLib::Object#properties. * src/rbgobj_signal.c: Fix a memleak for GLib::Object#signals. 2004-03-04 Masao Mutoh * src/rbgutil.c: Work under ruby-1.6.8. The idea is from Sasada Koichi. 2004-03-02 Masao Mutoh * src/rbglib.h: Increment version number. 2004-02-24 Masao Mutoh * src/rbgobject.c: Remove id, send from prop_exclude_list. 2004-02-23 Masao Mutoh * src/rbgobject.h: Add G_DEF_CLASS3(). This is for real-gtype but its foo_get_type() isn't public method such as GdkScreenX11. * src/rbgobj_type.c: Add RGObjClassInfoDynamic and G_DEF_CLASS3(). * src/glib2.def: ditto. 2004-02-22 Masao Mutoh * src/rbgobject.c: prop_exclude_list defined as a static hash. 2004-02-14 Vincent Isambart * src/lib/mkmf-gnome2.rb: replaced PLATFORM with RUBY_PLATFORM 2004-02-01 Masao Mutoh * src/rbgobj_paramspecs.c: Fix a bug for GLib::Param::Flags.new. 2003-12-21 Masao Mutoh * src/rbgobj_object.c: Fix a typo. Pointed out by Kazuhiro NISHIYAMA. 2003-12-21 Kenichi Komiya * src/rbgobj_object.c: Check when the first argument is nil or Hash. 2003-11-22 Masao Mutoh * src/rbglib.h: increment RBGLIB_MICRO_VERSION. 2003-11-15 Masahiro Sakai * src/rbgobj_enums.c: disable range checks. * sample/type-register.rb: call GLib::Object#notify when a property is updated. * src/rbgobj_signal.c: remove GLib::MetaInterface#signal_override and GLib::Instantiatable#signal_chain_from_overridden. 2003-11-10 Masahiro Sakai * src/rbglib.c: remove duplication of #include . 2003-11-10 Masao Mutoh * src/rbgobj_enums.c, rbgobject.h: Add G_RENAME_NICK. 2003-11-07 Masahiro Sakai * sample/type-register.rb: remove Japanese comments. * src/rbglib.h: increment RBGLIB_MINOR_VERSION. * src/rbgobj_object.c: do not depend on C99, Thanks to Hiroshi IGARASHI. * src/rbgobj_object.c: remove unnecessary #endif, Thanks to Nobuyoshi Nakada. 2003-11-05 Masahiro Sakai * sample/type-register.rb: add new file. * rename test/test-glib2.rb to tests/test-glib2.rb. * src/rbgobj_object.c: rename GLib::Object.register_type to type_register and change its arguments. * src/rbgobj_object.c, src/rbgobj_signal.c, src/global.h: enable subtyping codes by default. 2003-10-29 Masahiro Sakai * src/global.h, src/rbgobj_object.c, src/rbgobj_signal.c: share a module which serves to hook 'super'. * src/rbgobj_signal.c: change prefix of default handler of signals from 'do_' to 'signal_do_'. * test/test-glib2.rb: new file. 2003-10-26 Masahiro Sakai * src/rbgobj_object.c (get_prop_func, set_prop_func): replace '-' with '_' from method name. * src/rbgobj_object.c (get_prop_func, set_prop_func): do not call #do_get_property and #do_set_property, but #foo and #foo=. * src/rbgobj_signal.c (gobj_s_signal_new): change the arity of GLib::Instantiatable#signal_new. 2003-10-24 Masahiro Sakai * src/rbgobj_signal.c (emit_body, chain_from_overridden_body): remove G_SIGNAL_TYPE_STATIC_SCOPE flag from parameters and return value. 2003-10-23 Masahiro Sakai * src/rbgobj_enum.c (rbgobj_get_enum, rbgobj_get_flags): check if the argument GType is subtype of GEnum or GFlags. * src/rbgobj_signal.c: new method GLib::Instantiatable#signal_has_handler_pending?. * src/rbgobj_signal.c (g_signal_handler_block, gobj_sig_handler_unblock, gobj_sig_handler_disconnect): use NUM2ULONG instead of NUM2INT. 2003-10-14 Masao Mutoh * src/rbgobj_signal.c: Fix a segfault when GLib::Object#signal_emit is called. 2003-10-08 Laurent Sansonetti * src/rbgobj_param.c: Removed a compilation warning in function value_validate_ensure(). 2003-10-05 Masahiro Sakai * src/rbglib.c: call g_mem_set_vtable() to make glib to use ruby_xmalloc(), ruby_xrealloc(), ruby_xfree(). 2003-09-26 Masahiro Sakai * src/lib/mkmf-gnome2.rb: append "-I$(sitearchdir)" to $CPPFLAGS not $CFLAGS. and stop overriding create_makefile(). 2003-09-23 Masahiro Sakai * src/rbgobj_signal.c (gobj_s_signal_new): use #instance_method, UnboundMethod#bind and Method#call instead of #__send__. * src/rbgobj_signal.c (gobj_s_method_added): check GType. 2003-09-22 Masahiro Sakai * src/rbgobj_signal.c (gobj_s_sig_override): check if the class is registered. * src/rbgobj_signal.c (gobj_s_method_added): when a method named 'do_' is defined then override default handler by the method. 2003-09-20 Masahiro Sakai * src/rbgobj_type.c: override #append_features of interface modules to prevent including them into classes which is not subclass of GLib::Instantiatable. 2003-09-18 Masahiro Sakai * src/rbgobj_closure.c: implement GLib::Closure#invalidate. * src/rbgobj_closure.c: don't invoke Proc objects after ruby is terminated. * src/rbgobj_signal.c: implement GLib::MetaInterface#signal_override and GLib::Instantiatable#signal_chain_from_overridden experimentaly. 2003-09-06 Masahiro Sakai * src/rbglib.c: define GLib::BINDING_VERSION. * src/lib/mkmf-gnome2.rb: use PKG_CONFIG environment variable. 2003-09-06 Masao Mutoh * src/lib/mkmf_gnome2.rb: Pass "-l$(sitearchdir)" at last of $CFLAGS. 2003-09-03 Masahiro Sakai * src/rbgobj_object.c (register_type): if the super type is not defined by ruby, then include a new module that defines #initialize. * src/rbgobj_param.c (value_validate): use rb_ensure(). * src/rbgobj_param.c: disable GLib::Param#value_defaults? since the name is bad. 2003-08-31 Masahiro Sakai * src/rbgobj_enum.c (enum_coerce): use NUM2INT not NUM2UINT. * src/rbgobj_paramspecs.c: delete unnecessary StringValue invocation. * src/rbgobj_paramspecs.c: use RVAL2GENUM and RVAL2GFLAGS. 2003-08-30 Masahiro Sakai * src/lib/glib2.rb: rescue LoadError and Win32::Registry::Error separately. * src/lib/glib2.rb: On mingw32 and mswin32 platform, require 'win32/registry' unconditionaly and rescue LoadError. (proposed by TAMURA.KENICHI ) * src/rbgobj_enums.c: fixed rgbobj_get_enum - a VALUE was not converted to int before calling rbgobj_make_enum. (reported by Geoff Youngs ) 2003-08-29 Vincent Isambart * src/rbgobj_enums.c: fixed rgbobj_get_flags - a VALUE was not converted to unsigned int before calling rbgobj_make_flags. 2003-08-28 Masao Mutoh * extconf.rb: Exit with 1 when the package is not found. 2003-08-25 Masahiro Sakai * src/rbgobject.h: new macros RVAL2GENUM(), RVAL2GFLAGS(), GENUM2RVAL() and GFLAGS2RVAL(). * src/rbgobj_signal.c: new exception class GLib::NoSignalError. * src/rbgobj_object.c: new exception class GLib::NoPropertyError. * src/lib/glib2.rb: append Dropline GTK2-Runtime DLL path into PATH environmental variable. (proposed by TAMURA.KENICHI ) * src/rbgobj_object.c: remove GLib::Object#property. * src/rbgobj_enums.c (rbgobj_get_enum, rbgobj_get_flags): create temporary enum/flags object if the argument is an integer. this is to check if the integer is in the values avalable in the type. (proposed by Vincent Isambart * src/rbgobject.c (rbgobj_initialize_object): raise RuntimeError if the argument is NULL. (proposed by Vincent Isambart ) 2003-08-21 Masahiro Sakai * src/rbgobj_boxed.c: define GLib::Boxed#initialize which simply raise TypeError. * src/rbglib2.rb: fix format of GLib::Flags#inspect. * src/glib2.def, src/global.h, src/rbgobj_enums.c, src/rbgobj_type.c, src/rbgobj_value.c, src/rbgobject.h, src/lib/glib2.rb: new classes GLib::Enum and GLib::Flags. 2003-08-17 Masahiro Sakai * src/lib/glib2.rb: add new file. * src/lib/mkmf-gnome2.rb (PKGConfig.have_package): don't use Array#quote. Because mkmf.rb of ruby-1.6 doesn't provide this method. 2003-08-16 Masahiro Sakai * src/rbgobject.h, src/rbgobj_type.c, let rbgobj_define_class() to take `const gchar*', not `gchar*'. 2003-08-14 Masahiro Sakai * src/lib/mkmf-gnome2.rb (PKGConfig.have_package): append linker flags other than -l and -L into $LDFLAGS. 2003-08-09 Masahiro Sakai * src/rbgobj_signal.c (gobj_sig_emit): fix to setup arg.self. 2003-08-09 Masao Mutoh * src/depend: use old style * src/glib2.def: Add rbgobj_constant_remap. 2003-08-06 Masahiro Sakai * src/rbgobj_valuetypes.c: use GHashTable instead of Ruby's Hash for reference counting. Using Ruby's Hash may cause segmentaion fault when ruby exits. * src/rbgobj_closure.c: use GHashTable instead of Ruby's Hash for the same reason as src/rbgobj_valuetypes.c. * src/rbgobject.c (rbgobj_gobject_initialize): don't warn if the instance type is a subtype of the class type. 2003-08-03 Masao Mutoh * src/rbgobj_valuetypes.c: Fix error for gcc 2.95.4. Reported by Hiroshi Igarashi. 2003-08-02 Masahiro Sakai * src/lib/mkmf-gnome2.rb (PKGConfig.have_package): use --libs-only-l and --libs-only-L instead of --libs. 2003-08-02 Masao Mutoh * src/lib/mkmf-gnome2.rb: fix for other libraries can't compile in other directories. 2003-08-02 Masahiro Sakai * src/rbgobj_object.c (gobj_s_properties), src/rbgobj_signal.c (gobj_s_signals): recurse by default. 2003-08-01 Masahiro Sakai * src/rbgobj_type.c: don't free RGObjClassInfo structure. 2003-07-28 Geoff Youngs * src/rbgobj_enums.c: add rbgobj_constant_* to allow renaming invalid constants. * src/rbgobject.h: add G_RENAME_CONSTANT 2003-07-26 Masahiro Sakai * src/rbgobj_closure.c (rclosure_marshal): don't stop jumps. This is a temporary solution for the Ruby-GNOME2 0.6 release. 2003-07-22 Masao Mutoh * src/rbglib.h: add CBOOL2RVAL, RVAL2CBOOL. * src/lib/mkmf-gnome2.rb: Change include orders. 2003-07-21 Masahiro Sakai * src/rbgobj_enums.c (rbgobj_flags_add_constants): use UINT2NUM() instaed of INT2NUM(). * src/rbgobj_object.c (gobj_smethod_added): use rbgobj_get_signal_func(). * src/rbgobj_signal.c (gobj_s_signal_new): fix to treat accumulator correctly. * src/rbgobj_type.c: implement GLib::Type#<=>. * src/rbgobj_type.c: change superclass of GLib::Boxed from Data to Object. * src/global.h, rbgutil.c: add new functions generic_s_new(), generic_s_gtype() and generic_gtype(). * rbgobj_boxed.c, rbgobj_type.c: use generic_s_new(), generic_s_gtype() and generic_gtype(). 2003-07-21 Masao Mutoh * src/rbgobj_closure.c: enhance warning message of rclosure_marshal() which is used in GLib::Instantiatable#signal_connect(). 2003-07-20 Masahiro Sakai * src/rbgobj_signal.c, src/rbgobj_type.c, src/global.h: enable rbgobj_define_action_methods() by default. This function defines methods that emit action signals. Action signals are signals that may freely be emitted on alive objects from user code via g_signal_emit() and friends, without the need of being embedded into extra code that performs pre or post emission adjustments on the object. They can also be thought of as by third-party code generically callable object methods. * src/rbgobject.h, src/rbgobj_enum.c, src/glib2.def: add new function rbgobj_add_constants() and new macro G_DEF_CONSTANTS(). 2003-07-18 Masahiro Sakai * src/rbgobj_signal.c (signal_add_emission_hook): fix to treat `detail' argument correctly. 2003-07-17 Masahiro Sakai * src/rbgobj_closure.c (rclosure_marshal): use rb_protect(). * src/rbgobj_valuetypes.c (value_transform_ruby_any): use rb_protect(). * src/rbgobject.c (rbgobj_gobject_new): use rb_ensure(). * src/rbgobj_signal.c (gobj_sig_emit): use rb_ensure(). * src/rbgobj_object.c (gobj_set_property): call rbgobj_rvalue_to_gvalue() even if the argument is nil. * src/rbgobj_signal.c: remove Dispatch Closure stuff. use g_rclosure_new() instead. * src/rbgobj_value.c (rbgobj_rvalue_to_gvalue): call #to_s only for Symbol->G_TYPE_STEING conversion. * src/rbgobject.c (rbgobj_gobject_initialize): check if the argument has expected GType. * src/rbgobject.c (rbgobj_get_gobject): raise TypeError instead of ArgumentError. 2003-07-16 Masahiro Sakai * src/rbgobj_boxed.c (boxed_to_ruby): convert NULL to nil. * src/rbgobj_object.c (register_type): change error message: "parent class" to "super class". * src/rbgobj_param.c: remove Param#default=. rename Param#defaults to Param#value_defaults?. rename Paramcompare to Param#value_compare. implement Param#value_validate, #value_convert, (value_defaults) initialize tmp. * src/rbgobj_paramspecs.c: remove *#default and *#default_value. * src/rbgobj_type.c: (get_superclass): change to static function. (GLib::Type#initialize): check if the given integer is valid GType by using g_type_name(). (GLib::Type#==, #<, #>, #<=, #>=): return nil when uncomparable. 2003-07-14 Masahiro Sakai * src/depend: use $(srcdir) to allow building in different directories. * src/rbgobj_param.c (inspect): change inspect format. * src/rbgobj_param.c: new methods: GLib::Param#owner, GLib::Param#readable?, GLib::Param#writable?, GLib::Param#construct?, GLib::Param#construct_only?, GLib::Param#lax_validation?, GLib::Param#private?, GLib::Param#readwrite? * src/rbgobj_paramspec.c: new methods: GLib::Param::Char#range, GLib::Param::UChar#range, GLib::Param::Int#range, GLib::Param::UInt#range, GLib::Param::Long#range, GLib::Param::ULong#range, GLib::Param::Int64#range, GLib::Param::UInt64#range, GLib::Param::Float#range, GLib::Param::Double#range * src/rbgobj_boxed.c: implement GLib::Boxed#inspect and GLib::Boxed#initialize_copy. (boxed_from_ruby): accept nil and set NULL. * src/rbgobj_signal.c: implement GLib::Signal#inspect and GLib::Signal#owner. (to_signal_id, to_gquark): removed. (gobj_s_signal_new, gobj_s_signal, gobj_sig_emit, gobj_sig_emit_stop): accept Symbol. (query_signal_id, query_signal_name, query_itype, query_return_type, query_signal_flags, query_param_types): fix argument declaration. * src/rbgobj_valuetypes.c: implement GLib::Pointer#inspect, GLib::Pointer#==, GLib::Pointer#eql? and GLib::Pointer#hash. 2003-07-13 Masahiro Sakai * src/rbgobj_value.c, rbgobj_type.c: Accept rb_cObject as RBGOBJ_TYPE_RUBY_VALUE not G_TYPE_POINTER. 2003-07-10 Masao Mutoh * src/rbgobj_value.c, rbgobj_value_types.c, rbgobj_type.c: Accept rb_cObject as G_TYPE_POINTER. 2003-06-26 Masao Mutoh * src/rbgutil.h: Define G_BLOCK_PROC for ruby-1.8.x. * src/*c: Use G_BLOCK_PROC instead of rb_f_lambda(). * src/lib/mkmf-gnome2.rb: Check rb_block_proc(). 2003-06-23 Masao Mutoh * src/rbglib.c: Add GLib::PRIORITY_*. 2003-06-22 Masao Mutoh * src/rbglib.c: Call setlocale(LC_NUMERIC, "C") for some locales which doesn't use "." as decimal-point. Pointed out by Joao Pedrosa. 2003-05-27 Geoff Youngs * rbgobject.c - altered rbgobj_instance_from_ruby_object() and rbgobj_ruby_object_from_instance() to convert between NULL and nil automatically 2003-05-27 Masao Mutoh * src/depend: Add a file. * src/lib/mkmf-gnome2.rb: Add a file(Move from ../). * extconf.rb: Follow above changes. 2003-05-21 Masao Mutoh * src/rbgutil.c: klass.instance_methods to klass.instance_methods(false) for ruby-1.8.x. * src/rbgobject.h, rbgobj_type.c: Remove rbgobj_exist_class(). Use rb_const_define_at() instead. Pointed out by Masahiro Sakai. 2003-05-19 Masao Mutoh * src/rbgobj_type.c, rbgobject.h: Add rbgobj_exist_class(). 2003-04-13 Masahiro Sakai * src/rbgobj_type.c: fix so that GLib::Type#to_class can treat GEnum's descendants. * src/rbgobj_object.c: enable GLib::Object.new! by default * src/rbgobj_object.c (gobj_s_install_property): modify error message. * src/rbgobj_signal.c (gobj_s_signal_new): check if the class has a registerd type. * src/rbgobj_signal.c: implement GLib::Signal#{run_first?, run_last?, run_cleanup?, no_recurse?, detailed?, action?, no_hooks?} 2003-04-12 Masahiro Sakai * src/rbgobj_object.c (GLib::Object.new!): check if the class has a registered type. * src/rbgobj_object.c: implement GLib::Object.install_property * src/rbgobj_object.c: improve type registeration system. * src/rbgobj_paramspecs.c: fix to use appropriate GType. * src/rbgobj_type.c, src/rbgobject.h: Add a new function rbgobj_register_class() and rewring _register_fundamental_klass_to_gtype() and _register_fundamental_gtype_to_klass() with it. 2003-04-08 Masahiro Sakai * src/rbgobj_type.c: fix typo. ( interfaced? => interface? ) * src/rbgobj_type.c: implement GLib::Type#<, GLib::Type#>, GLib::Type#<= and GLib::Type#>=. * src/rbgobj_signal.c: Extend GLib::Instantiatable#signal_handler_block to take a block. * src/rbgobj_signal.c (gobj_s_signals): Fix memory leak. * src/rbgobj_object.c: Use RVAL2GTYPE(). * src/rbgobj_type.c (interface_get_gtype): Use CLASS2GTYPE(). * src/rbgobject.c (rbgobj_define_property_accessors): ditto 2003-04-07 Masahiro Sakai * src/rbgobj_signal.c: Implement a new function rbgobj_define_action_methods() experimentaly. This function defines methods that emit action signals. Action signals are signals that may freely be emitted on alive objects from user code via g_signal_emit() and friends, without the need of being embedded into extra code that performs pre or post emission adjustments on the object. They can also be thought of as by third-party code generically callable object methods. * src/rbgobj_signal.c: Extend GLib::Object.signals to GLib::Object.signals([inherited_too]) * src/rbgobj_object.c: Extend GLib::Object.properties to GLib::Object.properties([inherited_too]) * src/global.h, src/rbgobj_signal.c, rbgobj_type.c: gsub(/mInterfaceCommons/, 'mMetaInterface') and define GLib::MetaInterface. * src/rbgobj_paramspecs.c (GLib::Param::String#default_value): use rbg_cstr2rval() instead of rb_str_new2(). Because we need to allow NULL. * src/rbgobj_type.c: simplify the format of GLib::Type#inspect 2003-04-06 Masahiro Sakai * src/rbgobj_signal.c: rename signal_emit_by_name and signal_emit_stop_by_name to signal_emit and signal_emit_stop respectively. * src/rbgobj_signal.c: remove Signal#signal_id, Signal#signal_name, Signal#signal_flags. 2003-04-05 Masahiro Sakai * extconf.rb: add --enable-experimental option * src/rbgobj_signal.c (gobj_s_signal_new): implement accumulator stuff. * src/rbgobj_signal.c: code cleanup * src/rbgobj_signal.c: use signal_id as a key of signal_func_table. * src/rbgobj_signal.c: change rbgobj_get_signal_func() to static function. * src/rbgobj_signal.c: implement Signal#add_emission_hook and Signal#remove_emission_hook 2003-04-04 Masahiro Sakai * src/rbgobj_object.c (gobject_class_new): implement the function experimentaly. * src/rbgobj_object.c: abolish not_abstract_table and use RGObjClassInfo's `flags' field. * src/rbgobj_boxed.c: abolish boxed_table and use RGObjClassInfo's `flags' field. * src/rbgobject.c, src/rbgobject.h: add `flags' field to RGObjClassInfo. * src/rbgobj_type.c (rbgobj_lookup_class_by_gtype): code cleanup 2003-03-21 Masao Mutoh * src/rbgobj_object.c: Add GLib::Object.destroyed? 2003-03-19 Masahiro Sakai * src/glib2.def: Add a file 2003-03-14 Masahiro Sakai * src/rbglib_messages.c: change rbglib_log_handler_procs to static variable. 2003-03-12 Masahiro Sakai * src/rbglib_convert.c: implement - uri = GLib.filename_to_uri(filename[, hostname]) - filename, hostname = GLib.filename_from_uri(uri) 2003-03-07 Masahiro Sakai * src/rbgutil.h: #include rbglib.h for RUBY_GLIB2_VAR. * src/rbglib.h, rbgutil.h: define RUBY_GLIB2_VAR macro, and use RUBY_GLIB2_VAR for defining 'exported' variables. * extconf.rb: append "-DRUBY_GLIB2_COMPILATION" to $defs. 2003-02-20 Masahiro Sakai * extconf.rb: Check NODE_ATTRASGN only if try_compile is defined. 2003-02-17 Masahiro Sakai * src/rbgobject.h: Add rbgobj_signal_wrap() declaration. * src/rbgobject.h, src/global.h: Move declaration of rbgobj_define_property_accessors() from rbgobject.h to global.h * src/rbgobject.h: Remove rbgobj_define_signal_constants() declaration. This function no longer exists. 2003-02-16 Masahiro Sakai * extconf.rb, src/rbgutil.c: Check whether NODE_ATTRASGN is used in ruby. If NODE_ATTRASGN is used, G_DEF_SETTERS uses alias_method instead of generating wrapper methods. Patch from Nobuyoshi Nakada * src/rbgobject.c (rbgobj_define_property_accessors): ditto 2003-02-15 Masahiro Sakai * src/rbgobject.c: make id_relatives be static variable. 2003-02-14 Masahiro Sakai * src/rbglib.c, src/rbgutil.[ch]: code cleanups * src/rbgobj_boxed.c: make some functions to be static. * src/rbgobj_boxed.c: implement GLib::Boxed#{copy,clone} Suggested by KATO Kazuyoshi 2003-02-13 Masahiro Sakai * extconf.rb: follow changes of ../mkmf-gnome2.rb 2003-02-13 Masao Mutoh * src/rbgobj_boxed.c: Don't free boxed object when it's not copied boxed object. * src/rbglib.c: Call setlocale() in Init_glib2(). 2003-02-12 Masahiro Sakai * extconf.rb: use ../mkmf-gnome2.rb 2003-02-11 KUBO Takehiro * src/rbglib_convert.c: Add a file. Support string character set conversion. * src/rbglib.c: Follow above changes. 2003-02-09 Masao Mutoh * src/rbgobj_object.c, rbgobject.h: Add rbgobj_add_abstract_but_create_instance_class() for the classes which can create instance itself but define as an abstract class in GTK+-2.2. (e.g. GdkGC). 2003-02-03 Masahiro Sakai * src/rbglib.[ch]: change CSTR2RVAL's body to be a new function rbg_cstr2rval() to avoid unexprected side-effect of macro. 2003-02-03 Geoff Youngs * src/rbglib.h: a check for NULL strings in the CSTR2RVAL macro so that a NULL string translates to nil rather than raising an ArgumentError. 2003-02-02 Masao Mutoh * src/*[ch], README: Update Copyright. 2003-01-31 Masao Mutoh * src/rbgobj_boxed.c, rbgobject.h: Add rbgobj_boxed_not_copy_obj(). Some boxed object shouldn't copy when gpoint convert to VALUE. 2002-12-28 Masahiro Sakai * src/rbgobj_type.c (type_is_value_type): fix typo 2002-12-28 Masao Mutoh * src/rbgobj_value.c rbgobj_gvalue_to_rvalue(), rbgobj_rvalue_to_gvalue(): Change behavior of G_TYPE_INTERFACE(same as G_TYPE_OBJECT). 2002-12-26 Masao Mutoh * src/rbgobj_boxed.c, rbgobj_type.c, rbgobj_param.c, rbgobj_object.c: Apply rb_define_alloc_func() of ruby-1.8.x. 2002-12-21 Masao Mutoh * src/rbgutil.c: Check 2nd argument is hash. 2002-12-10 Masao Mutoh * src/rbgutil.[ch]: Add G_SET_SYMBOL_PROPERTY(gtype, name). 2002-12-06 Masao Mutoh * src/rbgobj_type.c: Add rb_cSymbol as G_TYPE_STRING. 2002-11-27 Masahiro Sakai * rbgobj_closure.c (rclosure_marshal): check if return_value's type is valid. Reported by Joshua Keith . 2002-11-24 Masahiro Sakai * src/rbgutil.c: remove rbgutil_val2cstr(). * src/rbglib.h: change StringValuePtr() definition to the same as ruby-1.7. and change RVAL2CSTR() to use the StringValuePtr(). 2002-11-23 Masao Mutoh * src/rbgobj_value.c: rbgobj_rvalue_to_gvalue() support Symbol value when G_TYPE_STRING is required. 2002-11-22 Masahiro Sakai * src/rbgobj_object.c, src/rbgobj_signal.c: change GLib::Instantiatable.signals and GLib::Object.properties to return array of strings. (instead of array of specific objects) * rbgobj_signal.c: disable some experimental code. 2002-11-20 Masao Mutoh * src/rbgobject.c: Fix typos in error messages(GLib::GObject to GLib::Object). 2002-11-11 Masao Mutoh * src/rbgobj_signal.c: BugFix of rbgobj_set/get_signal_func. 2002-11-10 Masahiro Sakai * extconf.rb: stop appending '-g' to $CFLAGS. 2002-11-10 Masao Mutoh * README: Add file. 2002-11-09 Masao Mutoh * src/rbglib_message.c: add file(Sorry I forgot it....) 2002-11-08 Masao Mutoh * src/rbglib_messages.c: add file(methods are moved from Ruby/GTK). * src/rbgobj_signal.c, rbgobj_closure.c, rbgobj_object.c, rbgobject.h: add G_DEF_SIGNAL_FUNC. 2002-11-06 Masahiro Sakai * src/rbglib.c (G_DEF_SETTERS): don't override existent methods. 2002-11-02 KUBO Takehiro * src/rbgutil.c, src/rbgutil.h: re-implement rbgutil_raise_gerror as macro and rename to RAISE_GERROR. add a new function rbgutil_gerror2exception() 2002-11-01 Masao Mutoh * src/rbgobject.c, rbgobj_type.c: Remove rbgobj_define_signal_constants(). 2002-10-30 KUBO Takehiro * src/rbgutil.c, src/rbgutil.h: add rbgutil_raise_gerror(). 2002-10-24 KUBO Takehiro * src/rbgobj_signal.c (GLib::Instantiatable#signal_conect, #signal_connect_after): accept detailed signal. 2002-10-20 Masahro Sakai * src/rbgobj_object.c: use canonical property name as hash key for the hash for a special getter and setter of the property. 2002-10-18 Masahro Sakai * src/rbgobj_closure.c, src/rbgobj_valuetypes.c: use Hash#delete instead of assigning nil. 2002-10-17 KUBO Takehiro * rbgobj_object.c (gobj_set_property, gobj_get_property): fix a bug. 2002-10-14 Masahro Sakai * src/rbgobj_object.c (GLib::Object.property): raise exception if the property doesn't exist. * src/rbgobj_param.c: rename GLib::ParamSpec to GLib::Param * src/rbgobj_signal.c (GLib::Instantiatable#signal_conect): accept symbol as signal name. * src/rbgobj_signal.c: rename GLib::Signal::Query to GLIb::Signal and GLib::Object.signal_list to GLIb::Object.signals and GLib::Object.signal_lookup to GLIb::Object.signal * src/rbgobj_object.c: rename GLib::Object.list_properties to GLIb::Object.properties and GLib::Object.find_property to GLIb::Object.property 2002-10-13 Masahro Sakai * src/rbgobj_valuetypes.c (rbgobj_ptr2cptr): check argument type * src/rbgobj_valuetypes.c: don't register some transformation function which may raise exception * src/rbgobj_object.c: add rbgobj_register_property_getter() and rbgobj_register_property_setter() for overwriting VALUE<=>GValue converter for property. 2002-10-10 Masao Mutoh * src/rbgutil.[ch], src/rbglib.c: add G_DEF_SETTERS macro. 2002-10-07 Masahiro Sakai * src/rbgobj_value.c (rbgobj_gvalue_to_rvalue): return Qnil when the type of GValue is G_TYPE_STRING and the content is NULL. 2002-10-05 KUBO Takehiro * src/rbgutil.h: add G_DEF_SETTER macro. 2002-10-02 Masahiro Sakai * src/rbgobj_boxed: implement GLib::Boxed::gtype & GLib::Boxed#gtype 2002-10-02 Masao Mutoh * src/rbgobj_type.c: Add _register_fundamental_gtype_to_klass()/ _register_fundamental_klass_to_gtype(). 2002-10-02 Masahiro Sakai * src/rbglib.h: define LONG2NUM and ULONG2NUM unless already defined. 2002-09-30 Masao Mutoh * src/rbgutil.[ch]: File added. * src/rbgobject.h, src/rbglib.[ch]: Support rbgutil.c. 2002-09-29 Masahiro Sakai * src/rbgobj_param.c (inspect): change format: including value type and owner type. excluding nick and blurb. * src/rbgobj_param.c (get_nick, get_blurb): return nil if the string is NULL. * src/rbgobj_signal.c: introduce GLIb::Signal::Query to wrap GSignalQuery. * src/rbgobj_type.c: define GLib::Interface and include it to each interface. This inclusion is intended to represent that interfaces are subtypes of GLib::Inteface. * src/rbgobj_object.c (gobj_s_find_property, gobj_set_property, gobj_get_property): accept Symbol as property name. * src/rbgobj_object.c: fix parameter number of GLib::Object.find_property 2002-09-29 Masao Mutoh * src/rbgobj_closure.c, src/rbgobj_boxed.c, src/rbgobject.h: Change RVAL2BOXED(obj) to RVAL2BOXED(obj, gtype). 2002-09-25 Masahiro Sakai * src/rbgobj_closure.c (marker_remove): fix a bug which can cause segmentation fault on following rb_gc_mark(). 2002-09-24 Masahiro Sakai * src/rbgobj_object.c: allow GLib::Object#freeze_notify to take block. * src/rbgobj_param.c (rbgobj_get_value_from_param_spec): fixed * src/rbgobj_param.c: implement GLib::ParamSpec#inspect * src/rbgobj_object.c: implement GLib::Object.list_properties and GLib::Object.find_property * src/rbgobj_signal.c: implement signal_handler_is_connected? * src/*.c: untabify * src/rbgobj_boxed.c (boxed_free): don't call g_boxed_free() if not initilized. * src/rbgobj_closure.c: implement GLib::Closure 2002-09-23 Masahiro Sakai * src/*.c: introduce GLib::Instantiatable as a common superclass of GLib::Object and GLib::ParamSpec. GLib:Instantiatable corresponds to GTypeInstance structure in C. * src/*.c: arrange APIs * src/rbgobject.c (rbgobj_define_signal_constants): stop calling g_class_ref(). Now caller must ensure that the class is initialized. 2002-09-23 Masahiro Sakai * src/*.c: introduce macro "RBGLIB_ENABLE_EXPERIMENTAL" to indicate experimental API. * src/rbgobj_signal.c: define constants * src/rbgobj_signal.c (signal_emit, signal_emit_stop): handles detail parameter. * src/rbgobject.c (rbgobj_gobject_new): check actual parameter size. 2002-09-21 Masahiro Sakai * src/rbgobject.c (rbgobj_define_property_accessors): when property name begins with 'is_', remove 'is_' from getter/setter name. * src/rbgobject.c (rbgobj_define_property_accessors): append '?' to the name of getter method of gboolean valued property. 2002-09-21 KUBO Takehiro * src/rbgobj_object.c (gobj_set_property, gobj_get_property): accept nil as an argument of val. raise more kindly exception when property name was not found. 2002-09-18 KUBO Takehiro * src/rbgobject.c (rbgobj_gobject_new): fix size parameter of memset() * src/rbgobj_value.c (rbgobj_rvalue_to_gvalue): don't use g2r_func_table but r2g_func_table 2002-09-17 Masahiro Sakai * src/rbgobject.c (rbgobj_define_property_accessors): optimize a bit by accumulating source string and call module_eval at once. 2002-09-16 Masahiro Sakai * src/rbgobject.c (rbgobj_define_property_accessors): - Define not only 'hogehoge=' but alse 'set_hogehoge' - Exclude properties which name is conflict with method of 'Object' - Stop passing second and third argument of module_eval 2002-09-14 Masao Mutoh * src/global.h, src/rbglib.h: Move StringValue, StringValuePtr to src/rbglib.h(Because it'll be used by other Ruby-GNOME libraries). Add RVAL2CSTR, CSTR2RVAL macro. 2002-09-14 Masahiro Sakai * extconf.rb: Append -fnative-struct to $CFLAGS when G_OS_WIN32 is defined 2002-09-13 Masao Mutoh * src/rbgobject.h, src/rbgobj_object.c: Rename RBGOBJ_INITIALIZE to G_INITIALIZE. * src/rbgobject.h: Add G_RELATIVE, G_RELATIVE2, G_REMOVE_RELATIVE. 2002-09-13 Masao Mutoh * src/rbobjmanager.[ch]: remove files. * src/rbglib.[ch]: remove Init_objmanager(). 2002-09-03 Masahiro Sakai * src/rbgobj_signal.c: implement GLib::Object#signal_emit_by_name 2002-09-01 Masahiro Sakai * src/rbgobj_signal.c: fix GLib::Object#signal_emit. * src/rbgobj_signal.c: implement GLib::Object.signal_lookup and GLib::Object.signal_list * src/rbgobj_signal.c: implement GLib::Object.signal_new. This is an experimental interface. * src/rbgobj_value.c (rbgobj_gvalue_to_rvalue, rbgobj_rvalue_to_gvalue): fix error messsage and use g_warning(). * src/utils_int64.c: use 0xffffffffL instead of G_MAXUINT * src/utils_int64.c, src/global.h, src/rbgobj_paramspecs.c, src/rbgobj_value.c: change prefix of int64 functions from 'rbgobj_' to 'rbglib_'. * src/*.[ch]: add 'indent-tabs-mode: nil' to header 2002-08-29 Masao Mutoh * src/rbgobj_boxed.c: Add GLib::Boxed.new, GLib::Boxed#allocate. 2002-08-20 Masao Mutoh * src/rbgobj_boxed.c: Add rbgobj_boxed_initialize(), rbgobj_boxed_create(). Modify rbgobj_boxed_get(). * src/rbgobject.[ch]: Support Boxed type in rbgobj_create_object(), rbgobj_initialize_object(). 2002-08-20 Masahiro Sakai * src/utils_int64.c: rb_global_variable(&max_PRUint32) * src/rbgobj_param.c: rename rbgobj_get_value_from_paramspec to rbgobj_get_value_from_param_spec * src/rbgobj_param.c (gobj_get_gtype): use rbgobj_param_spec_get_struct instead of RVAL2GOBJ 2002-08-18 Masao Mutoh * src/rbobjmanager.[ch]: Add file. Support RB_DEF_CLASS system. 2002-08-14 Masahiro Sakai * extconf.rb: use $libs instead of $LDFLAGS * src/rbglib.c: define GLib::VERSION, GLib::(MAJOR|MINOR|MICRO)_VERSION * src/rbgobj_param.c: define GParamFlags constants * src/rbgobj_value.c (rbgobj_register_r2g_func): change argument. it now take GType as key instead of Ruby class. * src/rbgobject.c (rbgobj_add_relative, rbgobj_add_relative_removable, rbgobj_remove_relative): call rb_ivar_defined() before calling rb_ivar_get() * rbgobj_valuetypes.c, rbgobj_value.c: improve G_TYPE_POINTER handling 2002-08-10 Masahiro Sakai * src/rbgobject.[ch]: move id_relative_callbacks to gtk * src/rbgobj_closure.c, src/rbgobj_object.c, src/rbgobj_signal.c: use GVAL2RVAL * src/rbgobj_valuetypes.c: add file. implement RBGOBJ_TYPE_RUBY_VALUE to box Ruby object into GValue. * src/rbgobj_type.c, src/rbgobj_value.c, src/rbgobj_valuetypes.c: support G_TYPE_POINTER. This is a tentative implementation. * src/global.h: move "extern void Init_hoge();" stuff to where these functions are actually called. 2002-08-09 Masahiro Sakai * src/utils_int64.c (LL_L2UI): cast argument to guint32 * src/utils_int64.c (RubyTo64BitInt): oops. convert max_PRUint32 to VALUE. * src/utils_int64.c: optimize 2002-08-09 Masahiro Sakai * src/rbgobject.c: use GQuark * src/rbgobj_type.c: fix allocation problem in ruby-1.7 rb_obj_alloc() was used though GLib::Type#allocate wasn't implemented. this problem is pointed out by Masao Mutoh . * src/rbgobj_object.c: rename GLib::GObject to GLib::Object * src/utils_int64.c: add file. support gint64/guint64. code is ripped from rbXPCOM-0.0.3. Thanks to Kenichi Komiya * src/rbgobj_param.c (value_set_default): initialize GValue with {0,}. * src/rbgobj_param.c (ParamSpec#value_type): returns GLib::Type * src/rbgobj_param.c (ParamSpec#owner_type): ditto * src/rbgobj_paramspecs.c: implement more functions * src/rbgobj_boxed.c: use rbgobj_type.c for class managiment * src/rbgobj_value.c: hardcode most converters. Now table-lookup is used only for G_TYPE_POINTER and G_TYPE_BOXED. * src/rbgobj_object.c, src/rbgobj_enum.c, src/rbgobj_param.c: ditto 2002-08-08 Masahiro Sakai * src/rbgobj_type.c: more ruby-ish method naming. ie: "hoge?" rather than "is_hoge"? * src/rbgobj_type.c (rbgobj_lookup_class_by_gtype): enhancement for G_TYPE_PARAM * src/rbgobj_param.c, src/rbgobj_paramspec.c: rewrite for using above enhancement. 2002-08-07 Masahiro Sakai * src/rbgobject.c (rbgobj_gobject_new): take type argument as GType instead of VALUE. * src/rbgobject.c (rbgobj_gobject_new): allow nil for construct parameter * src/rbgobj_object.c (is_gtkobject): add function * src/rbgobj_object.c (GObject.allocate): check abstract class * src/rbgobj_object.c (GObject#initialize): rewrite * src/rbgobj_type.c (rbgobj_lookup_class): use independent hash instead of instance variable. and abolish id_class_info. * src/rbgobj_type.c (rbgobj_lookup_class): search ancestor classes. * src/rbgobj_type.c: implement GLib::Type. 2002-08-06 Masahiro Sakai * src/rbgobj_type.c: extend rbgobj_lookup_class_by_gtype() to deal interfaces * src/rbgobject.h: define macros: G_DEF_INTERFACE and G_DEF_INTERFACE2 * src/rbgobj_typeplugin.c: file added * extconf.rb: use --msvc-syntax option for pkg-config if the compiler is MSVC++. 2002-08-06 Masahiro Sakai * src/rbgobject.h: remove declaration of id_class_info and id_delete * src/rbgobject.h, src/rbgobj_object.c, src/rbgobj_signal.c: remove global variable rbgobj_cGObject. 2002-08-03 Masahiro Sakai * src/rbglib.[ch]: fix mGLib declaration and definition 2002-08-02 Masahiro Sakai * src/rbgobj_type.c (rbgobj_lookup_class_by_gtype): enable calling of rbgobj_define_property_accessors() and rbgobj_define_signal_constants(). 2002-08-02 Masahiro Sakai * src/rbgobj_type.c: abolish rbgobj_register_class() * src/rbgobj_type.c (rbgobj_lookup_class_by_gtype): now this function create a new class on demand. * src/rbgobj_type.c: abolish rbgobj_lookup_rbclass() * src/rbgobject.c: fix typo * src/rbgobject.c: add rbgobj_define_signal_constants() which define constants for signal names. 2002-08-01 Masahiro Sakai * src/rbgobj_object.c (_gobject_to_ruby): check NULL before calling GOBJ2RVAL(). * src/rbgobj_signal.c (gobj_sig_connect): remove unused variable 'id'. * src/rbgobj_signal.c (gobj_sig_connect_after): ditto * src/rbgobj_object.c (gobj_smethod_added): fix bugs 2002-07-31 Masao Mutoh * src/rbgobject.c: devide from rbgobj_objectc[ch]. * src/rbgobj_object.c, src/rbgobject.h: abolish rbgobj_force_get_gobject(). * src/rbgobject.h: add G_DEF_CLASS(), G_DEF_CLASS2(), GTYPE2CLASS(). * src/rbgobj_type.c: add rbgobj_define_class() 2002-07-31 Masahiro Sakai * src/rbgobj_closure.c: use g_closure_add_invalidate_notifier() instead of g_closure_add_finalize_notifier() * src/rbgobj_closure.c: fix g_closure_add_invalidate_notifier()'s argument order * src/rbgobj_signal.c: GObject#signal_connect now accept extra argument as Ruby/Gtk 1. * src/rbgobj_signal.c: implement GObject#signal_connect_after 2002-07-28 Masahiro Sakai * src/rbgobj_object.c (gobj_s_gobject_new): refine GtkObject-specific stuff * src/rbgobj_object.c: implement GObject#freeze_notify, GObject#notify, GObject#thaw_notify * src/rbgobj_object.c (gobj_inspect): use g_strdup_printf() instead of ALLOCA_N() and sprintf() * src/rbgobj_type.c (rbgobj_register_class): add some check * src/*.c: replace rbgobj_get_value_from_gobject() with GOBJ2RVAL() * src/*.c: replace rbgobj_get_gobject() with RVAL2GOBJ() * src/rbgobj_object.c: void rbgobj_define_property_acccessors(VALUE klass); is added. This function defines accessor methods for properties. * src/rbgobj_signal.c (gobj_sig_emit): call g_value_init() 2002-07-27 Masahiro Sakai * src/rbgobj_object.c: abolish rbgobj_make_gobject_auto_type() and rbgobj_make_gobject() * src/rbgobj_boxed.c, src/rbgobj_enums.c, src/rbgobj_typemodule.c, src/rbgobj_signal.c: created * src/rbgobj_object.c: move signal stuff to src/rbgobj_signal.c 2002-07-27 Masahiro Sakai * src/rbgobj_object.c: implement GObject.gobject_new experimentaly. example: w = GLib::GObject.gobject_new("GtkWindow", "title" => "Hello World") 2002-07-26 Masahiro Sakai * extconf.rb: check allocation framework * src/rbgobj_object.c: introduce intermediate data structure (gobj_holder) for managing not only GObject*, but also class_info and ruby object itself. * src/rbgobj_object.c: abolish gobject_object_list_v and gobject_object_list * src/rbgobj_object.c: use gobject_weak_ref() to observe an explicit disposition. (e.g. by gtk_object_destroy()) * src/rbgobj_object.c: implement GObject#set_property and GObject#get_property * src/rbgobj_paramspecs.c: created 2002-06-23 Masahiro Sakai * src/rbgobj_type.c (Init_gobject_gtype): call g_type_init(). * src/rbgobj_object.c, src/gclosure.c: zero-fill GValue before using it. 2002-06-23 Masao Mutoh * src/rbgobject.h: Fix parameter number of RBGOBJ_INITIALIZE(). 2002-06-23 Masao Mutoh * src/rbgobject.c: change rbgobj_set_gobject() to rbgobj_initialize_gobject(). * src/rbgobject.h: create RBGOBJ_INITIALIZE(). 2002-06-22 Masahiro Sakai * src/rbgobject.h: create two macros; RVAL2GOBJ() and GOBJ2RVAL(). * src/rbgobject.h, rbgobj_object.c: make rbgobj_make_gobject() and rbgobj_make_gobject_auto_type() be private. * src/rbgobj_object.c: remove gobj_mark() and clear_gobject(). * src/rbglib.c: remove gError. 2002-06-20 Masahiro Sakai * src/rbgobj_object.c, src/rbgobj_type.c, src/rbgobject.h: rename rbgobj_class_info to RGObjClassInfo. 2002-06-18 Masahiro Sakai * src/*.c: conform to Ruby/GNOME2 coding-style. 2002-06-18 Masahiro Sakai * extconf.rb: check whether package exists or not.