Hello community,

here is the log from the commit of package yast2-ruby-bindings for 
openSUSE:Factory checked in at 2014-09-18 07:12:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-ruby-bindings (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-ruby-bindings"

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-ruby-bindings/yast2-ruby-bindings.changes  
2014-08-06 11:41:36.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.yast2-ruby-bindings.new/yast2-ruby-bindings.changes 
    2014-09-18 07:12:28.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Sep 12 12:22:37 UTC 2014 - [email protected]
+
+- GC-guard some Ruby values to prevent a crash in slideshow
+  (bnc#895964)
+- 3.1.24
+
+-------------------------------------------------------------------

Old:
----
  yast2-ruby-bindings-3.1.23.tar.bz2

New:
----
  yast2-ruby-bindings-3.1.24.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-ruby-bindings.spec ++++++
--- /var/tmp/diff_new_pack.sFrqbN/_old  2014-09-18 07:12:29.000000000 +0200
+++ /var/tmp/diff_new_pack.sFrqbN/_new  2014-09-18 07:12:29.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-ruby-bindings
-Version:        3.1.23
+Version:        3.1.24
 Release:        0
 Url:            https://github.com/yast/yast-ruby-bindings
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-ruby-bindings-3.1.23.tar.bz2 -> yast2-ruby-bindings-3.1.24.tar.bz2 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ruby-bindings-3.1.23/package/yast2-ruby-bindings.changes 
new/yast2-ruby-bindings-3.1.24/package/yast2-ruby-bindings.changes
--- old/yast2-ruby-bindings-3.1.23/package/yast2-ruby-bindings.changes  
2014-08-05 15:21:00.000000000 +0200
+++ new/yast2-ruby-bindings-3.1.24/package/yast2-ruby-bindings.changes  
2014-09-12 14:45:10.000000000 +0200
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Fri Sep 12 12:22:37 UTC 2014 - [email protected]
+
+- GC-guard some Ruby values to prevent a crash in slideshow
+  (bnc#895964)
+- 3.1.24
+
+-------------------------------------------------------------------
 Wed Jul 30 14:27:09 UTC 2014 - [email protected]
 
 - Fixed to report the right frame for Ops.get_foo (bnc#877758).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ruby-bindings-3.1.23/package/yast2-ruby-bindings.spec 
new/yast2-ruby-bindings-3.1.24/package/yast2-ruby-bindings.spec
--- old/yast2-ruby-bindings-3.1.23/package/yast2-ruby-bindings.spec     
2014-08-05 15:21:00.000000000 +0200
+++ new/yast2-ruby-bindings-3.1.24/package/yast2-ruby-bindings.spec     
2014-09-12 14:45:10.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-ruby-bindings
-Version:        3.1.23
+Version:        3.1.24
 Url:            https://github.com/yast/yast-ruby-bindings
 Release:        0
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-ruby-bindings-3.1.23/src/binary/Y2RubyReference.cc 
new/yast2-ruby-bindings-3.1.24/src/binary/Y2RubyReference.cc
--- old/yast2-ruby-bindings-3.1.23/src/binary/Y2RubyReference.cc        
2014-08-05 15:21:00.000000000 +0200
+++ new/yast2-ruby-bindings-3.1.24/src/binary/Y2RubyReference.cc        
2014-09-12 14:45:10.000000000 +0200
@@ -8,7 +8,9 @@
   VALUE *params = new VALUE[m_call.size()];
   for (int i = 0; i < m_call.size(); ++i)
   {
-    params[i] = ycpvalue_2_rbvalue(m_call.value(i));
+    VALUE value = ycpvalue_2_rbvalue(m_call.value(i));
+    RB_GC_GUARD(value);
+    params[i] = value;
   }
   YCPValue res = rbvalue_2_ycpvalue(rb_funcall3(object, 
rb_intern("call"),m_call.size(), params));
   delete[] params;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-ruby-bindings-3.1.23/src/binary/YRuby.cc 
new/yast2-ruby-bindings-3.1.24/src/binary/YRuby.cc
--- old/yast2-ruby-bindings-3.1.23/src/binary/YRuby.cc  2014-08-05 
15:21:00.000000000 +0200
+++ new/yast2-ruby-bindings-3.1.24/src/binary/YRuby.cc  2014-09-12 
14:45:10.000000000 +0200
@@ -189,7 +189,9 @@
     // get the
     YCPValue v = argList->value(i);
     y2debug("Adding argument %d of type %s", i, v->valuetype_str());
-    values[i+3] = ycpvalue_2_rbvalue(v);
+    VALUE vr = ycpvalue_2_rbvalue(v);
+    RB_GC_GUARD(vr);
+    values[i+3] = vr;
   }
 
   y2debug( "Will call function '%s' in module '%s' with '%d' arguments", 
function.c_str(), module_name.c_str(), size-1);
@@ -224,7 +226,9 @@
     return YCPBoolean(false);
 
   VALUE wfm_module = y2ruby_nested_const_get("Yast::WFM");
-  VALUE result = rb_funcall(wfm_module, rb_intern("run_client"), 1, 
rb_str_new2(path.c_str()));
+  VALUE client_path = rb_str_new2(path.c_str());
+  RB_GC_GUARD(client_path);
+  VALUE result = rb_funcall(wfm_module, rb_intern("run_client"), 1, 
client_path);
   return rbvalue_2_ycpvalue(result);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-ruby-bindings-3.1.23/src/binary/Yast.cc 
new/yast2-ruby-bindings-3.1.24/src/binary/Yast.cc
--- old/yast2-ruby-bindings-3.1.23/src/binary/Yast.cc   2014-08-05 
15:21:00.000000000 +0200
+++ new/yast2-ruby-bindings-3.1.24/src/binary/Yast.cc   2014-09-12 
14:45:10.000000000 +0200
@@ -256,7 +256,9 @@
     for (std::map<int,SymbolEntryPtr>::iterator i = refs.begin(); i != 
refs.end(); ++i)
     {
       //set back reference
-      rb_funcall(argv[i->first], rb_intern("value="), 1, 
ycpvalue_2_rbvalue(i->second->value()));
+      VALUE val = ycpvalue_2_rbvalue(i->second->value());
+      RB_GC_GUARD(val);
+      rb_funcall(argv[i->first], rb_intern("value="), 1, val);
     }
     return ycpvalue_2_rbvalue(res);
   }

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to