You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2013/11/27 05:44:49 UTC

svn commit: r1545922 - in /subversion/trunk/subversion/bindings/javahl/native/jniwrapper: jni_base.cpp jni_globalref.hpp

Author: brane
Date: Wed Nov 27 04:44:49 2013
New Revision: 1545922

URL: http://svn.apache.org/r1545922
Log:
Allow the jniwrapper global reference wrappers to work with null
objects or classes.

* subversion/bindings/javahl/native/jniwrapper/jni_globalref.hpp
  (GlobalObject::GlobalObject): Create global refs more carefully.
* subversion/bindings/javahl/native/jniwrapper/jni_base.cpp
  (GlobalObject::~GlobalObject): Do not try to delete null references.

Modified:
    subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_base.cpp
    subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_globalref.hpp

Modified: subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_base.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_base.cpp?rev=1545922&r1=1545921&r2=1545922&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_base.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_base.cpp Wed Nov 27 04:44:49 2013
@@ -127,7 +127,8 @@ GlobalObject& GlobalObject::operator=(jo
 
 GlobalObject::~GlobalObject()
 {
-  Env().DeleteGlobalRef(m_obj);
+  if (m_obj)
+    Env().DeleteGlobalRef(m_obj);
 }
 
 

Modified: subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_globalref.hpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_globalref.hpp?rev=1545922&r1=1545921&r2=1545922&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_globalref.hpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/jniwrapper/jni_globalref.hpp Wed Nov 27 04:44:49 2013
@@ -40,7 +40,7 @@ class GlobalObject
 {
 public:
   explicit GlobalObject(Env env, jobject obj)
-    : m_obj(env.NewGlobalRef(obj))
+    : m_obj(obj ? env.NewGlobalRef(obj) : NULL)
     {}
 
   ~GlobalObject();