Author: rhuijben
Date: Thu Jan 29 14:25:34 2015
New Revision: 1655677

URL: http://svn.apache.org/r1655677
Log:
Fix a JavaHL callback's exception handling. This fixes a JNI problem, and
makes it possible to find where to apply fixes for behavior changes.

* subversion/bindings/javahl/native/CommitMessage.cpp
  (CommitMessage::getCommitMessage): Ensure valid output. Properly handle
    exceptions in the java callback, by popping exception state.

Modified:
    subversion/trunk/subversion/bindings/javahl/native/CommitMessage.cpp

Modified: subversion/trunk/subversion/bindings/javahl/native/CommitMessage.cpp
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/CommitMessage.cpp?rev=1655677&r1=1655676&r2=1655677&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/CommitMessage.cpp 
(original)
+++ subversion/trunk/subversion/bindings/javahl/native/CommitMessage.cpp Thu 
Jan 29 14:25:34 2015
@@ -65,6 +65,7 @@ CommitMessage::getCommitMessage(const ch
                                 const apr_array_header_t *commit_items,
                                 apr_pool_t *pool)
 {
+  *log_msg = NULL;
   *tmp_file = NULL;
   JNIEnv *env = JNIUtil::getEnv();
 
@@ -102,7 +103,7 @@ CommitMessage::getCommitMessage(const ch
                                                     midCallback,
                                                     CreateJ::Set(jitems));
   if (JNIUtil::isJavaExceptionThrown())
-    return SVN_NO_ERROR;
+    POP_AND_RETURN(SVN_NO_ERROR);
 
   if (jmessage != NULL)
     {


Reply via email to