Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(20) |
Jun
(46) |
Jul
(58) |
Aug
(103) |
Sep
(153) |
Oct
(192) |
Nov
(228) |
Dec
(213) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(61) |
Feb
(114) |
Mar
(103) |
Apr
(51) |
May
(84) |
Jun
(38) |
Jul
(125) |
Aug
(324) |
Sep
(120) |
Oct
(98) |
Nov
(145) |
Dec
(108) |
2004 |
Jan
(75) |
Feb
(72) |
Mar
(203) |
Apr
(33) |
May
(59) |
Jun
(39) |
Jul
(41) |
Aug
(108) |
Sep
(39) |
Oct
(74) |
Nov
(98) |
Dec
(21) |
2005 |
Jan
(113) |
Feb
(93) |
Mar
(113) |
Apr
(8) |
May
(11) |
Jun
(98) |
Jul
(91) |
Aug
(39) |
Sep
(149) |
Oct
(199) |
Nov
(29) |
Dec
(4) |
2006 |
Jan
(20) |
Feb
(6) |
Mar
(19) |
Apr
(21) |
May
(119) |
Jun
(105) |
Jul
(63) |
Aug
(10) |
Sep
(18) |
Oct
(26) |
Nov
(44) |
Dec
(113) |
2007 |
Jan
(14) |
Feb
(14) |
Mar
(11) |
Apr
(8) |
May
(7) |
Jun
(49) |
Jul
(188) |
Aug
(32) |
Sep
(12) |
Oct
(32) |
Nov
(79) |
Dec
(27) |
2008 |
Jan
(54) |
Feb
(32) |
Mar
(104) |
Apr
(247) |
May
(51) |
Jun
(25) |
Jul
(6) |
Aug
(13) |
Sep
(60) |
Oct
(63) |
Nov
(49) |
Dec
(10) |
2009 |
Jan
(132) |
Feb
(14) |
Mar
(16) |
Apr
(3) |
May
(23) |
Jun
(10) |
Jul
(14) |
Aug
(12) |
Sep
(24) |
Oct
(6) |
Nov
|
Dec
(6) |
2010 |
Jan
(12) |
Feb
(13) |
Mar
(2) |
Apr
(13) |
May
(7) |
Jun
(3) |
Jul
(6) |
Aug
|
Sep
(156) |
Oct
(57) |
Nov
(9) |
Dec
(2) |
2011 |
Jan
(109) |
Feb
(431) |
Mar
(17) |
Apr
|
May
(8) |
Jun
(25) |
Jul
(12) |
Aug
(9) |
Sep
(80) |
Oct
(244) |
Nov
(341) |
Dec
(559) |
2012 |
Jan
(137) |
Feb
(185) |
Mar
(6) |
Apr
(30) |
May
(26) |
Jun
(3) |
Jul
(25) |
Aug
(5) |
Sep
(4) |
Oct
(2) |
Nov
(16) |
Dec
(190) |
2013 |
Jan
(204) |
Feb
(70) |
Mar
(137) |
Apr
(180) |
May
(149) |
Jun
(39) |
Jul
(22) |
Aug
(8) |
Sep
(78) |
Oct
(488) |
Nov
(134) |
Dec
(138) |
2014 |
Jan
(18) |
Feb
(148) |
Mar
(238) |
Apr
(177) |
May
(45) |
Jun
(36) |
Jul
(176) |
Aug
(33) |
Sep
(114) |
Oct
(265) |
Nov
(263) |
Dec
(184) |
2015 |
Jan
(163) |
Feb
(44) |
Mar
(196) |
Apr
(184) |
May
(308) |
Jun
(132) |
Jul
(81) |
Aug
(76) |
Sep
(440) |
Oct
(125) |
Nov
(75) |
Dec
(111) |
2016 |
Jan
(210) |
Feb
(88) |
Mar
(86) |
Apr
(137) |
May
(145) |
Jun
(257) |
Jul
(35) |
Aug
(312) |
Sep
(69) |
Oct
(43) |
Nov
(91) |
Dec
(103) |
2017 |
Jan
(72) |
Feb
(50) |
Mar
(80) |
Apr
(238) |
May
(122) |
Jun
(47) |
Jul
(197) |
Aug
(92) |
Sep
(21) |
Oct
(45) |
Nov
(52) |
Dec
(26) |
2018 |
Jan
(3) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
(2) |
9
|
10
|
11
|
12
|
13
|
14
|
15
(6) |
16
|
17
|
18
|
19
(2) |
20
(4) |
21
|
22
(3) |
23
(2) |
24
|
25
|
26
(2) |
27
|
28
|
29
|
30
|
|
|
|
|
|
|
From: Kouhei Sutou <ktou@us...> - 2006-04-26 14:38:05
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gtk/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7573/src Modified Files: rbgtk.c Log Message: * src/rbgtk.c: Added reference to Gtk::Window until the widget is destroyed. This change is for backward compatibility and usability. Index: rbgtk.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/src/rbgtk.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- rbgtk.c 20 Jan 2006 12:37:31 -0000 1.39 +++ rbgtk.c 26 Apr 2006 14:37:44 -0000 1.40 @@ -22,6 +22,15 @@ ID id_relative_callbacks; ID id_call; +static ID id__windows__; + +static void +remove_from_windows(GtkWidget *window, VALUE obj) +{ + VALUE klass; + klass = rb_obj_class(obj); + rb_hash_delete(rb_ivar_get(klass, id__windows__), obj); +} void rbgtk_initialize_gtkobject(obj, gtkobj) @@ -31,6 +40,18 @@ gtkobj = g_object_ref(gtkobj); gtk_object_sink(gtkobj); G_INITIALIZE(obj, gtkobj); + + if (GTK_IS_WINDOW(gtkobj)) { + VALUE klass; + klass = rb_obj_class(obj); + if (NIL_P(rb_ivar_get(klass, id__windows__))) { + rb_ivar_set(klass, id__windows__, rb_hash_new()); + } + rb_hash_aset(rb_ivar_get(klass, id__windows__), obj, Qnil); + g_signal_connect_after(gtkobj, "destroy", + G_CALLBACK(remove_from_windows), + (gpointer)obj); + } } void @@ -200,6 +221,7 @@ Init_gtk_gtk() { id_call = rb_intern("call"); + id__windows__ = rb_intern("__windows__"); mGtk = rb_define_module("Gtk"); rb_ivar_set(mGtk, id_relative_callbacks, Qnil); |
From: Kouhei Sutou <ktou@us...> - 2006-04-26 14:37:52
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7573 Modified Files: ChangeLog Log Message: * src/rbgtk.c: Added reference to Gtk::Window until the widget is destroyed. This change is for backward compatibility and usability. Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/ChangeLog,v retrieving revision 1.559 retrieving revision 1.560 diff -u -d -r1.559 -r1.560 --- ChangeLog 15 Apr 2006 01:58:49 -0000 1.559 +++ ChangeLog 26 Apr 2006 14:37:44 -0000 1.560 @@ -1,3 +1,8 @@ +2006-04-26 Kouhei Sutou <kou@...> + + * src/rbgtk.c: Added reference to Gtk::Window until the widget is + destroyed. This change is for backward compatibility and usability. + 2006-04-15 Kouhei Sutou <kou@...> * src/rbgtkmenushell.c: Added G_CHILD_ADD. |
From: Kouhei Sutou <ktou@us...> - 2006-04-23 11:41:02
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gnome In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10089 Modified Files: ChangeLog Log Message: * src/rbgnome-app-helper.c (do_ui_signal_connect): Add "FIX ME". Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gnome/ChangeLog,v retrieving revision 1.82 retrieving revision 1.83 diff -u -d -r1.82 -r1.83 --- ChangeLog 18 Mar 2006 06:54:53 -0000 1.82 +++ ChangeLog 23 Apr 2006 11:40:53 -0000 1.83 @@ -1,3 +1,7 @@ +2006-04-23 Kouhei Sutou <kou@...> + + * src/rbgnome-app-helper.c (do_ui_signal_connect): Add "FIX ME". + 2006-03-18 Kouhei Sutou <kou@...> * src/rbgnome-app-helper.c: Follow new GRClosure API. Call |
From: Kouhei Sutou <ktou@us...> - 2006-04-23 11:40:57
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gnome/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10089/src Modified Files: rbgnome-app-helper.c Log Message: * src/rbgnome-app-helper.c (do_ui_signal_connect): Add "FIX ME". Index: rbgnome-app-helper.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gnome/src/rbgnome-app-helper.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- rbgnome-app-helper.c 18 Mar 2006 06:54:53 -0000 1.16 +++ rbgnome-app-helper.c 23 Apr 2006 11:40:53 -0000 1.17 @@ -450,7 +450,12 @@ return; args = rb_ary_new3(1, (VALUE)uiinfo->user_data); rclosure = g_rclosure_new(proc, args, NULL); - g_rclosure_attach(rclosure, G_OBJECT(uiinfo->widget)); + /* FIX ME: GOBJ2RVAL(uiinfo->widget) will be GCed. This + is same problem as the following: + Gtk::Window.new.show_all.signal_connect("destroy") {p :destroyed} + In the above sample, callback can't be invoked when + the object made by "Gtk::Window.new" is GCed. */ + g_rclosure_attach(rclosure, GOBJ2RVAL(uiinfo->widget)); g_signal_connect_closure(G_OBJECT(uiinfo->widget), signal_name, rclosure, FALSE); } |
From: Masao Mutoh <mutoh@us...> - 2006-04-22 15:39:03
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gdkpixbuf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15172 Modified Files: ChangeLog rbgdk-pixdata.c Log Message: * rbgdk-pixdata.c: Gdk::Pixdata#length returns the size of pixel_data. (length - GDK_PIXDATA_HEADER_LENGTH). Gdk::Pixdata#pixel_data returns the data size of length - GDK_PIXDATA_HEADER_LENGTH. [Patch#1473708] Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gdkpixbuf/ChangeLog,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- ChangeLog 22 Apr 2006 15:25:44 -0000 1.61 +++ ChangeLog 22 Apr 2006 15:39:00 -0000 1.62 @@ -3,7 +3,7 @@ * rbgdk-pixdata.c: Gdk::Pixdata#length returns the size of pixel_data. (length - GDK_PIXDATA_HEADER_LENGTH). Gdk::Pixdata#pixel_data returns the data size of length - - GDK_PIXDATA_HEADER_LENGTH. + GDK_PIXDATA_HEADER_LENGTH. [Patch#1473708] 2005-09-24 Guillaume Cottenceau Index: rbgdk-pixdata.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gdkpixbuf/rbgdk-pixdata.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- rbgdk-pixdata.c 22 Apr 2006 15:25:44 -0000 1.6 +++ rbgdk-pixdata.c 22 Apr 2006 15:39:00 -0000 1.7 @@ -127,7 +127,7 @@ { gint32 length = _SELF(self)->length; - if(length>0) + if(length > 0) length -= GDK_PIXDATA_HEADER_LENGTH; return INT2NUM(length); } |
From: Masao Mutoh <mutoh@us...> - 2006-04-22 15:36:06
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/panel-applet In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13489 Modified Files: ChangeLog rbpanel-applet.c Log Message: * Added PanelApplet#set_flags.[Patch #1431855] Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/panel-applet/ChangeLog,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- ChangeLog 10 Oct 2005 11:59:36 -0000 1.17 +++ ChangeLog 22 Apr 2006 15:36:00 -0000 1.18 @@ -1,3 +1,7 @@ +2006-04-23 Masao Mutoh <mutoh@...> + + * Added PanelApplet#set_flags.[Patch #1431855] + 2005-10-10 Masao Mutoh <mutoh@...> * extconf.rb, rbpanel-applet.c: Added PanelApplet::BUILD_VERSION. Index: rbpanel-applet.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/panel-applet/rbpanel-applet.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- rbpanel-applet.c 10 Oct 2005 11:59:36 -0000 1.9 +++ rbpanel-applet.c 22 Apr 2006 15:36:00 -0000 1.10 @@ -102,12 +102,20 @@ return self; } -/* -void panel_applet_set_size_hints (PanelApplet *applet, - const int *size_hints, - int n_elements, - int base_size); -*/ +static VALUE +rbpanel_applet_set_size_hints(self, size_hints, base_size) + VALUE self, size_hints, base_size; +{ + gint len = NIL_P(size_hints) ? 0 : RARRAY(size_hints)->len; + gint *hints = g_new0(gint, len); + gint i; + for(i = 0; i < len; i++) { + hints[i] = NUM2INT(RARRAY(size_hints)->ptr[i]); + } + panel_applet_set_size_hints(_SELF(self), hints, len, NUM2INT(base_size)); + g_free(hints); + return self; +} static VALUE rbpanel_applet_get_control(self) @@ -344,6 +352,7 @@ rb_define_method(cApplet, "add_preferences", rbpanel_applet_add_preferences, 1); rb_define_method(cApplet, "flags", rbpanel_applet_get_flags, 0); rb_define_method(cApplet, "set_flags", rbpanel_applet_set_flags, 1); + rb_define_method(cApplet, "set_size_hints", rbpanel_applet_set_size_hints, 2); rb_define_method(cApplet, "control", rbpanel_applet_get_control, 0); rb_define_method(cApplet, "popup_component", rbpanel_applet_get_popup_component, 0); rb_define_method(cApplet, "gconf_get_int", rbpanel_applet_gconf_get_int, 1); |
From: Masao Mutoh <mutoh@us...> - 2006-04-22 15:25:49
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gdkpixbuf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7631 Modified Files: ChangeLog rbgdk-pixdata.c Log Message: * rbgdk-pixdata.c: Gdk::Pixdata#length returns the size of pixel_data. (length - GDK_PIXDATA_HEADER_LENGTH). Gdk::Pixdata#pixel_data returns the data size of length - GDK_PIXDATA_HEADER_LENGTH. Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gdkpixbuf/ChangeLog,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- ChangeLog 23 Sep 2005 22:07:54 -0000 1.60 +++ ChangeLog 22 Apr 2006 15:25:44 -0000 1.61 @@ -1,3 +1,10 @@ +2006-04-23 NISHI Takao + + * rbgdk-pixdata.c: Gdk::Pixdata#length returns the size of pixel_data. + (length - GDK_PIXDATA_HEADER_LENGTH). + Gdk::Pixdata#pixel_data returns the data size of length - + GDK_PIXDATA_HEADER_LENGTH. + 2005-09-24 Guillaume Cottenceau * rbgdk-pixbuf.c, rbgdk-pixbuf.h, rbgdk-pixbufsimpleanim.c, Index: rbgdk-pixdata.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gdkpixbuf/rbgdk-pixdata.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- rbgdk-pixdata.c 14 Aug 2004 07:00:50 -0000 1.5 +++ rbgdk-pixdata.c 22 Apr 2006 15:25:44 -0000 1.6 @@ -125,7 +125,11 @@ pixdata_length(self) VALUE self; { - return INT2NUM(_SELF(self)->length); + gint32 length = _SELF(self)->length; + + if(length>0) + length -= GDK_PIXDATA_HEADER_LENGTH; + return INT2NUM(length); } static VALUE @@ -162,9 +166,10 @@ { gint i; guint8* ret = _SELF(self)->pixel_data; + gint32 length = _SELF(self)->length - GDK_PIXDATA_HEADER_LENGTH; - VALUE ary = rb_ary_new2(_SELF(self)->length); - for (i = 0; i < _SELF(self)->length; i++) { + VALUE ary = rb_ary_new2(length); + for (i = 0; i < length; i++) { rb_ary_push(ary, UINT2NUM(ret[i])); } return ary; |
From: Kouhei Sutou <ktou@us...> - 2006-04-20 00:59:26
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/glib/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28696/src Modified Files: rbgobj_closure.c rbgobj_type.c Log Message: * 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. Index: rbgobj_closure.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/src/rbgobj_closure.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- rbgobj_closure.c 20 Apr 2006 00:52:06 -0000 1.28 +++ rbgobj_closure.c 20 Apr 2006 00:59:22 -0000 1.29 @@ -224,14 +224,19 @@ void g_rclosure_attach(GClosure *closure, VALUE object) { + static VALUE mGLibObject = (VALUE)NULL; GRClosure *rclosure = (GRClosure *)closure; - gobj_holder *holder; G_CHILD_ADD(object, rclosure->rb_holder); rclosure->count++; - Data_Get_Struct(object, gobj_holder, holder); - g_object_weak_ref(holder->gobj, rclosure_weak_notify, rclosure); + + if (!mGLibObject) { + mGLibObject = rb_const_get(mGLib, rb_intern("Object")); + } + if (rb_obj_is_kind_of(object, mGLibObject)) { + g_object_weak_ref(RVAL2GOBJ(object), rclosure_weak_notify, rclosure); + } } static void Index: rbgobj_type.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/src/rbgobj_type.c,v retrieving revision 1.55 retrieving revision 1.56 diff -u -d -r1.55 -r1.56 --- rbgobj_type.c 19 Apr 2006 13:40:17 -0000 1.55 +++ rbgobj_type.c 20 Apr 2006 00:59:22 -0000 1.56 @@ -690,7 +690,7 @@ Init_interface_commons() { mMetaInterface = rb_define_module_under(mGLib, "MetaInterface"); - rb_define_method(mMetaInterface, "gtype", generic_s_gtype, 0); + rb_define_method(mMetaInterface, "gtype", generic_gtype, 0); } /**********************************************************************/ |
From: Kouhei Sutou <ktou@us...> - 2006-04-20 00:59:26
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/glib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28696 Modified Files: ChangeLog Log Message: * 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. Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/ChangeLog,v retrieving revision 1.316 retrieving revision 1.317 diff -u -d -r1.316 -r1.317 --- ChangeLog 20 Apr 2006 00:52:05 -0000 1.316 +++ ChangeLog 20 Apr 2006 00:59:22 -0000 1.317 @@ -1,5 +1,10 @@ 2006-04-20 Kouhei Sutou <kou@...> + * 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 <kou@...> |
From: Kouhei Sutou <ktou@us...> - 2006-04-20 00:52:20
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/glib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23016 Modified Files: ChangeLog Log Message: * src/rbgobj_closure.c: Fixed a closure reference count bug. Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/ChangeLog,v retrieving revision 1.315 retrieving revision 1.316 diff -u -d -r1.315 -r1.316 --- ChangeLog 19 Apr 2006 13:40:17 -0000 1.315 +++ ChangeLog 20 Apr 2006 00:52:05 -0000 1.316 @@ -1,3 +1,7 @@ +2006-04-20 Kouhei Sutou <kou@...> + + * src/rbgobj_closure.c: Fixed a closure reference count bug. + 2006-04-19 Kouhei Sutou <kou@...> * src/rbgobj_type.c (rbgobj_lookup_class): fixed typo. |
From: Kouhei Sutou <ktou@us...> - 2006-04-20 00:52:20
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/glib/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23016/src Modified Files: rbgobj_closure.c Log Message: * src/rbgobj_closure.c: Fixed a closure reference count bug. Index: rbgobj_closure.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/src/rbgobj_closure.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- rbgobj_closure.c 15 Apr 2006 01:04:53 -0000 1.27 +++ rbgobj_closure.c 20 Apr 2006 00:52:06 -0000 1.28 @@ -13,17 +13,28 @@ #include "global.h" static ID id_call; +static ID id_holder; static gboolean rclosure_initialized = FALSE; #define CALLBACK_KEY rb_str_new2("callback") #define EXTRA_ARGS_KEY rb_str_new2("extra_args") +#define HOLDER(closure) \ + (rb_ivar_get((closure)->rb_holder, id_holder)) +#define SETUP_HOLDER(closure) \ + (rb_ivar_set((closure)->rb_holder, id_holder, rb_hash_new())) + typedef struct _GRClosure GRClosure; +typedef struct _GRClosureHolder +{ + GRClosure *closure; +} GRClosureHolder; + struct _GRClosure { GClosure closure; - VALUE holder; + VALUE rb_holder; gint count; GValToRValSignalFunc g2r_func; }; @@ -89,8 +100,8 @@ if (rclosure_alive_p(rclosure)) { VALUE callback, extra_args; - callback = rb_hash_aref(rclosure->holder, CALLBACK_KEY); - extra_args = rb_hash_aref(rclosure->holder, EXTRA_ARGS_KEY); + callback = rb_hash_aref(HOLDER(rclosure), CALLBACK_KEY); + extra_args = rb_hash_aref(HOLDER(rclosure), EXTRA_ARGS_KEY); if (!NIL_P(extra_args)) { args = rb_ary_concat(args, extra_args); @@ -164,19 +175,35 @@ } } +static void +gr_closure_holder_free(GRClosureHolder *holder) +{ + if (holder) { + if (rclosure_alive_p(holder->closure)) { + holder->closure->count--; + } + free(holder); + } +} + GClosure* g_rclosure_new(VALUE callback_proc, VALUE extra_args, GValToRValSignalFunc g2r_func) { GRClosure* closure; + GRClosureHolder *holder; closure = (GRClosure*)g_closure_new_simple(sizeof(GRClosure), NULL); - closure->holder = rb_hash_new(); closure->count = 0; closure->g2r_func = g2r_func; + closure->rb_holder = Data_Make_Struct(rb_cData, GRClosureHolder, 0, + gr_closure_holder_free, holder); - rb_hash_aset(closure->holder, CALLBACK_KEY, callback_proc); - rb_hash_aset(closure->holder, EXTRA_ARGS_KEY, extra_args); + holder->closure = closure; + SETUP_HOLDER(closure); + + rb_hash_aset(HOLDER(closure), CALLBACK_KEY, callback_proc); + rb_hash_aset(HOLDER(closure), EXTRA_ARGS_KEY, extra_args); g_closure_set_marshal((GClosure*)closure, &rclosure_marshal); g_closure_add_invalidate_notifier((GClosure*)closure, NULL, @@ -200,7 +227,7 @@ GRClosure *rclosure = (GRClosure *)closure; gobj_holder *holder; - G_CHILD_ADD(object, rclosure->holder); + G_CHILD_ADD(object, rclosure->rb_holder); rclosure->count++; Data_Get_Struct(object, gobj_holder, holder); @@ -217,6 +244,7 @@ Init_rclosure() { id_call = rb_intern("call"); + id_holder = rb_intern("holder"); rclosure_initialized = TRUE; rb_set_end_proc(rclosure_end_proc, Qnil); |
From: Kouhei Sutou <ktou@us...> - 2006-04-19 13:40:26
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/glib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22056 Modified Files: ChangeLog Log Message: * src/rbgobj_type.c (rbgobj_lookup_class): fixed typo. Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/ChangeLog,v retrieving revision 1.314 retrieving revision 1.315 diff -u -d -r1.314 -r1.315 --- ChangeLog 15 Apr 2006 01:04:53 -0000 1.314 +++ ChangeLog 19 Apr 2006 13:40:17 -0000 1.315 @@ -1,3 +1,7 @@ +2006-04-19 Kouhei Sutou <kou@...> + + * src/rbgobj_type.c (rbgobj_lookup_class): fixed typo. + 2006-04-15 Kouhei Sutou <kou@...> * src/rbgobj_closure.c (rclosure_marshal, rclosure_marshal_body): |
From: Kouhei Sutou <ktou@us...> - 2006-04-19 13:40:26
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/glib/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22056/src Modified Files: rbgobj_type.c Log Message: * src/rbgobj_type.c (rbgobj_lookup_class): fixed typo. Index: rbgobj_type.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/src/rbgobj_type.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- rbgobj_type.c 15 Oct 2005 04:31:38 -0000 1.54 +++ rbgobj_type.c 19 Apr 2006 13:40:17 -0000 1.55 @@ -61,7 +61,7 @@ return rbgobj_lookup_class(super); } - rb_raise(rb_eRuntimeError, "can't get gobject class infomation"); + rb_raise(rb_eRuntimeError, "can't get gobject class information"); } static VALUE |
From: Kouhei Sutou <ktou@us...> - 2006-04-15 01:58:52
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gtk/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17851/src Modified Files: rbgtkmenushell.c rbgtknotebook.c rbgtktable.c Log Message: * src/rbgtkmenushell.c: Added G_CHILD_ADD. * src/rbgtknotebook.c: ditto. * src/rbgtktable.c: ditto. Index: rbgtkmenushell.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/src/rbgtkmenushell.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- rbgtkmenushell.c 28 Aug 2005 20:31:49 -0000 1.17 +++ rbgtkmenushell.c 15 Apr 2006 01:58:50 -0000 1.18 @@ -22,6 +22,7 @@ VALUE self, child; { gtk_menu_shell_append(_SELF(self),RVAL2WIDGET(child)); + G_CHILD_ADD(self, child); return self; } @@ -30,6 +31,7 @@ VALUE self, child; { gtk_menu_shell_prepend(_SELF(self), RVAL2WIDGET(child)); + G_CHILD_ADD(self, child); return self; } @@ -39,6 +41,7 @@ { gtk_menu_shell_insert(_SELF(self), RVAL2WIDGET(child), NUM2INT(pos)); + G_CHILD_ADD(self, child); return self; } Index: rbgtknotebook.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/src/rbgtknotebook.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- rbgtknotebook.c 29 Jan 2005 11:44:14 -0000 1.27 +++ rbgtknotebook.c 15 Apr 2006 01:58:50 -0000 1.28 @@ -38,6 +38,8 @@ gtk_notebook_append_page(_SELF(self), RVAL2WIDGET(child), NIL_P(label) ? NULL : RVAL2WIDGET(label)); + G_CHILD_ADD(self, child); + return self; } Index: rbgtktable.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/src/rbgtktable.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- rbgtktable.c 31 Aug 2003 15:29:44 -0000 1.11 +++ rbgtktable.c 15 Apr 2006 01:58:50 -0000 1.12 @@ -66,6 +66,8 @@ NUM2INT(top),NUM2INT(bottom), xopt, yopt, xspc, yspc); + G_CHILD_ADD(self, child); + return self; } |
From: Kouhei Sutou <ktou@us...> - 2006-04-15 01:58:52
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17851 Modified Files: ChangeLog Log Message: * src/rbgtkmenushell.c: Added G_CHILD_ADD. * src/rbgtknotebook.c: ditto. * src/rbgtktable.c: ditto. Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/ChangeLog,v retrieving revision 1.558 retrieving revision 1.559 diff -u -d -r1.558 -r1.559 --- ChangeLog 8 Apr 2006 12:30:02 -0000 1.558 +++ ChangeLog 15 Apr 2006 01:58:49 -0000 1.559 @@ -1,3 +1,9 @@ +2006-04-15 Kouhei Sutou <kou@...> + + * src/rbgtkmenushell.c: Added G_CHILD_ADD. + * src/rbgtknotebook.c: ditto. + * src/rbgtktable.c: ditto. + 2006-04-08 Mario Steele * sample/gtk-demo/images.rb: Read the image with "rb" mode not "r". |
From: Kouhei Sutou <ktou@us...> - 2006-04-15 01:07:09
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gnomecanvas/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16843/src Modified Files: rbgnome-canvas-item.c rbgnome-canvas.c Log Message: * src/rbgnome-canvas.c: Added G_CHILD_ADD. * src/rbgnome-canvas-item.c: Added G_CHILD_ADD and G_CHILD_REMOVE. Index: rbgnome-canvas-item.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gnomecanvas/src/rbgnome-canvas-item.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- rbgnome-canvas-item.c 1 Oct 2005 19:44:15 -0000 1.21 +++ rbgnome-canvas-item.c 15 Apr 2006 01:07:04 -0000 1.22 @@ -33,6 +33,8 @@ #define va_init_list(a,b) va_start(a) #endif +static VALUE citem_parent(VALUE self); + static void #ifdef HAVE_STDARG_PROTOTYPES citem_do_construct(GnomeCanvasItem *item, GnomeCanvasGroup *parent, const gchar *first_arg_name, ...) @@ -72,6 +74,8 @@ g_object_thaw_notify(G_OBJECT(item)); + G_CHILD_ADD(parent, self); + return Qnil; } @@ -225,7 +229,9 @@ if (!g_type_is_a(RVAL2GTYPE(new_group), GNOME_TYPE_CANVAS_GROUP)) { rb_raise(rb_eTypeError, "not a GnomeCanvasGroup"); } + G_CHILD_REMOVE(citem_parent(self), self); gnome_canvas_item_reparent(_SELF(self), GNOME_CANVAS_GROUP(RVAL2GOBJ(new_group))); + G_CHILD_ADD(new_group, self); return self; } Index: rbgnome-canvas.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gnomecanvas/src/rbgnome-canvas.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- rbgnome-canvas.c 1 Oct 2005 19:44:15 -0000 1.17 +++ rbgnome-canvas.c 15 Apr 2006 01:07:04 -0000 1.18 @@ -48,7 +48,12 @@ canvas_root(self) VALUE self; { - return GOBJ2RVAL(gnome_canvas_root(_SELF(self))); + VALUE root; + + root = GOBJ2RVAL(gnome_canvas_root(_SELF(self))); + G_CHILD_ADD(self, root); + + return root; } static VALUE |
From: Kouhei Sutou <ktou@us...> - 2006-04-15 01:07:09
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gnomecanvas In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16843 Modified Files: ChangeLog Log Message: * src/rbgnome-canvas.c: Added G_CHILD_ADD. * src/rbgnome-canvas-item.c: Added G_CHILD_ADD and G_CHILD_REMOVE. Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gnomecanvas/ChangeLog,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- ChangeLog 15 Oct 2005 14:38:39 -0000 1.59 +++ ChangeLog 15 Apr 2006 01:07:04 -0000 1.60 @@ -1,3 +1,9 @@ +2006-04-15 Kouhei Sutou <kou@...> + + * src/rbgnome-canvas.c: Added G_CHILD_ADD. + + * src/rbgnome-canvas-item.c: Added G_CHILD_ADD and G_CHILD_REMOVE. + 2005-10-15 Masao Mutoh <mutoh@...> * src/rbgnome-canvas-path-def.c: Fixed a compiling error on |
From: Kouhei Sutou <ktou@us...> - 2006-04-15 01:05:01
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/glib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15457 Modified Files: ChangeLog Log Message: * src/rbgobj_closure.c (rclosure_marshal, rclosure_marshal_body): Changed an argument type to VALUE from struct marshal_arg *. Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/ChangeLog,v retrieving revision 1.313 retrieving revision 1.314 diff -u -d -r1.313 -r1.314 --- ChangeLog 18 Mar 2006 06:53:05 -0000 1.313 +++ ChangeLog 15 Apr 2006 01:04:53 -0000 1.314 @@ -1,3 +1,8 @@ +2006-04-15 Kouhei Sutou <kou@...> + + * src/rbgobj_closure.c (rclosure_marshal, rclosure_marshal_body): + Changed an argument type to VALUE from struct marshal_arg *. + 2006-03-18 Kouhei Sutou <kou@...> * src/rbgobj_closure.c: Fixed memory leak. Held closure in each |
From: Kouhei Sutou <ktou@us...> - 2006-04-15 01:05:01
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/glib/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15457/src Modified Files: rbgobj_closure.c Log Message: * src/rbgobj_closure.c (rclosure_marshal, rclosure_marshal_body): Changed an argument type to VALUE from struct marshal_arg *. Index: rbgobj_closure.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/glib/src/rbgobj_closure.c,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- rbgobj_closure.c 18 Mar 2006 06:53:05 -0000 1.26 +++ rbgobj_closure.c 15 Apr 2006 01:04:53 -0000 1.27 @@ -57,19 +57,29 @@ } static VALUE -rclosure_marshal_body(struct marshal_arg* arg) +rclosure_marshal_body(VALUE rb_arg) { - GRClosure* rclosure = (GRClosure *)(arg->closure); - GValue* return_value = arg->return_value; - guint n_param_values = arg->n_param_values; - const GValue* param_values = arg->param_values; - //gpointer invocation_hint = arg->invocation_hint; - //gpointer marshal_data = arg->marshal_data; + struct marshal_arg *arg; + GRClosure* rclosure; + GValue* return_value; + guint n_param_values; + const GValue* param_values; + /* gpointer invocation_hint;*/ + /* gpointer marshal_data; */ VALUE ret = Qnil; VALUE args; GValToRValSignalFunc func; + + Data_Get_Struct(rb_arg, struct marshal_arg, arg); + rclosure = (GRClosure *)(arg->closure); + return_value = arg->return_value; + n_param_values = arg->n_param_values; + param_values = arg->param_values; + /* invocation_hint = arg->invocation_hint; */ + /* marshal_data = arg->marshal_data; */ + if (rclosure->g2r_func){ func = (GValToRValSignalFunc)rclosure->g2r_func; } else { @@ -105,22 +115,25 @@ gpointer invocation_hint, gpointer marshal_data) { - struct marshal_arg arg; + struct marshal_arg *arg; + VALUE rb_arg; int state; if (!rclosure_initialized) { g_closure_invalidate(closure); return; } - - arg.closure = closure; - arg.return_value = return_value; - arg.n_param_values = n_param_values; - arg.param_values = param_values; - arg.invocation_hint = invocation_hint; - arg.marshal_data = marshal_data; - rb_protect((VALUE (*)_((VALUE)))rclosure_marshal_body, (VALUE)&arg, &state); + rb_arg = Data_Make_Struct(rb_cData, struct marshal_arg, 0, 0, arg); + + arg->closure = closure; + arg->return_value = return_value; + arg->n_param_values = n_param_values; + arg->param_values = param_values; + arg->invocation_hint = invocation_hint; + arg->marshal_data = marshal_data; + + rb_protect(rclosure_marshal_body, rb_arg, &state); if (state){ /* FIXME */ |
From: Masao Mutoh <mutoh@us...> - 2006-04-08 12:30:15
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gtk/sample/gtk-demo In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12101/sample/gtk-demo Modified Files: images.rb Log Message: * sample/gtk-demo/images.rb: Read the image with "rb" mode not "r". Index: images.rb =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/sample/gtk-demo/images.rb,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- images.rb 12 Feb 2005 23:02:43 -0000 1.4 +++ images.rb 8 Apr 2006 12:30:03 -0000 1.5 @@ -154,7 +154,7 @@ end else filename = Demo.find_file('alphatest.png') - @image_stream = File.open(filename, 'r') + @image_stream = File.open(filename, 'rb') if @pixbuf_loader != nil @pixbuf_loader.close |
From: Masao Mutoh <mutoh@us...> - 2006-04-08 12:30:15
|
Update of /cvsroot/ruby-gnome2/ruby-gnome2/gtk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12101 Modified Files: ChangeLog Log Message: * sample/gtk-demo/images.rb: Read the image with "rb" mode not "r". Index: ChangeLog =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gtk/ChangeLog,v retrieving revision 1.557 retrieving revision 1.558 diff -u -d -r1.557 -r1.558 --- ChangeLog 18 Mar 2006 06:54:03 -0000 1.557 +++ ChangeLog 8 Apr 2006 12:30:02 -0000 1.558 @@ -1,3 +1,7 @@ +2006-04-08 Mario Steele + + * sample/gtk-demo/images.rb: Read the image with "rb" mode not "r". + 2006-03-18 Kouhei Sutou <kou@...> * src/rbgtkaccelgroup.c: Follow new GRClosure API. Call |