fix crash when copy'ing latent plugins
[ardour.git] / gtk2_ardour / session_metadata_dialog.cc
index 90e978903cee303c786ad21b2dc80a37e35ca351..a4cfee2b1047ff33aa78eca0955fb3419553cdfa 100644 (file)
@@ -30,7 +30,7 @@
 #include "ardour/session.h"
 #include "ardour/session_utils.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace std;
 using namespace Glib;
@@ -270,15 +270,18 @@ EAN13MetadataField::update_status ()
                // calculate EAN-13 modulo 10 check digit
                int sum = 0;
                const char *p = _value.c_str();
-               for (int i =0; i < 12; i++) {
+               for (int i = 0; i < 12; i++) {
                        char c = p[i] - '0';
                        if (i % 2) {
-                               sum += c;
-                       } else {
                                sum += c * 3;
+                       } else {
+                               sum += c;
                        }
                }
                sum %= 10;
+               if (sum)
+                       sum = 10 - sum;
+
                if (sum == p[12] - '0') {
                        status_label->set_markup (string_compose(
                                                "<span color=\"green\">%1: %2</span>",
@@ -900,7 +903,7 @@ SessionMetadataImporter::run ()
                return;
        }
 
-       //create a temporary 
+       //create a temporary
        ARDOUR::SessionMetadata data;
        data.set_state (*node, version);
        init_data ( true );  //skip user data here