plus

8

--- a/src/bp-core/bp-core-filters.php
+++ b/src/bp-core/bp-core-filters.php
@@ -445,7 +445,48 @@ function bp_modify_page_title( $title, $sep = '', $seplocation = '' ) {
 
 	// Displayed user
 	if ( bp_get_displayed_user_fullname() && ! is_404() ) {
-		$title = bp_get_displayed_user_fullname();
+		// Get the component's ID to try and get its name
+		$component_id = $component_name = bp_current_component();
+
+		// Use the component nav name
+		if ( ! empty( $bp->bp_nav[$component_id] ) ) {
+			// Remove counts that are added by the nav item
+			$span = strpos( $bp->bp_nav[ $component_id ]['name'], '<span' );
+			if ( false !== $span ) {
+				$component_name = substr( $bp->bp_nav[ $component_id ]['name'], 0, $span - 1 );
+
+			} else {
+				$component_name = $bp->bp_nav[ $component_id ]['name'];
+			}
+
+		// Fall back on the component ID
+		} elseif ( ! empty( $bp->{$component_id}->id ) ) {
+			$component_name = ucwords( $bp->{$component_id}->id );
+		}
+
+		// Append action name if we're on a member component sub-page
+		if ( ! empty( $bp->bp_options_nav[ $component_id ][ bp_current_action() ]['name'] ) && ! empty( $bp->canonical_stack['action'] ) ) {
+			$component_subnav_name = "{$bp->bp_options_nav[ $component_id ][ bp_current_action() ]['name']}";
+		} else {
+			$component_subnav_name = '';
+		}
+
+		// If on the user profile's landing page, just use the fullname
+		if ( bp_is_current_component( $bp->default_component ) && bp_get_requested_url() === bp_displayed_user_domain() ) {
+			$title = bp_get_displayed_user_fullname();
+
+		// Use component name on member pages
+		} else {
+			// If we have a subnav name, add it separately for localization
+			if ( ! empty( $component_subnav_name ) ) {
+				// translators: construct the page title. 1 = user name, 2 = component name, 3 = seperator, 4 = component subnav name
+				$title = strip_tags( sprintf( __( '%1$s %3$s %2$s %3$s %4$s', 'buddypress' ), bp_get_displayed_user_fullname(), $component_name, $sep, $component_subnav_name ) );
+
+			} else {
+				// translators: construct the page title. 1 = user name, 2 = component name, 3 = seperator
+				$title = strip_tags( sprintf( __( '%1$s %3$s %2$s', 'buddypress' ), bp_get_displayed_user_fullname(), $component_name, $sep ) );
+			}
+		}
 
 	// A single group
 	} elseif ( bp_is_active( 'groups' ) && ! empty( $bp->groups->current_group ) && ! empty( $bp->bp_options_nav[ $bp->groups->current_group->slug ] ) ) {
plus

638

--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -27,9 +27,9 @@ module.exports = function( grunt ) {
         //Terse format to generate the verbose format required by sauce
         var browsers = {
             "internet explorer|Windows XP": ["7", "8"],
-            "internet explorer|Windows 7": ["9", "10"],
+            "internet explorer|Windows 7": ["9"],
             "firefox|Windows 7": ["3.5", "4", "25", "33"],
-            "chrome|Windows 7": null,
+            "chrome|Windows 7": ["beta"],
             "safari|Windows 7": ["5"]
         };
 
plus

3

index 0000000..35947d8
--- /dev/null
+++ b/tests/tests-dts_core.php
@@ -0,0 +1,27 @@
+<?php
+	/**
+	 * Tests against the DTS_Core class to verify it's legitimacy to
+	 * the external world and QA all it's methods.
+	 */
+	class DTS_Core_Test_Cases extends WP_UnitTestCase {
+
+		/**
+		 * Test the does_need_install method
+		 */
+		function test_does_need_install () {
+			$dts_core = DTS_Core::get_instance();
+
+			// Reproduce conditions where dts has not been installed
+			$installed_version = false;
+			$this->assertTrue( $dts_core->does_need_install( $installed_version ) );
+
+			// Reproduce any installed version
+			// anything other than false
+			$installed_version = 'anything';
+			$this->assertFalse( $dts_core->does_need_install( $installed_version ) );
+		} // function test_does_need_install
+
+	} // class DTS_Core_Test_Cases
+
+
+	// EOF
\ No newline at end of file
plus

104

--- a/quasar-core/src/main/java/co/paralleluniverse/fibers/instrument/JavaAgent.java
+++ b/quasar-core/src/main/java/co/paralleluniverse/fibers/instrument/JavaAgent.java
@@ -95,7 +95,7 @@
  * @author Matthias Mann
  */
 public class JavaAgent {
-    private static volatile boolean active;
+    private static volatile boolean ACTIVE;
     private static final Set<WeakReference<ClassLoader>> classLoaders = Collections.newSetFromMap(MapUtil.<WeakReference<ClassLoader>, Boolean>newConcurrentHashMap());
 
     public static void premain(String agentArguments, Instrumentation instrumentation) {
@@ -104,8 +104,7 @@ public static void premain(String agentArguments, Instrumentation instrumentatio
 
         final ClassLoader cl = Thread.currentThread().getContextClassLoader();
         final QuasarInstrumentor instrumentor = new QuasarInstrumentor(false, cl, new DefaultSuspendableClassifier(cl));
-        boolean checkArg = false;
-        active = true;
+        ACTIVE = true;
         SuspendableHelper.javaAgent = true;
 
         if (agentArguments != null) {
@@ -124,7 +123,7 @@ public static void premain(String agentArguments, Instrumentation instrumentatio
                         break;
 
                     case 'c':
-                        checkArg = true;
+                        instrumentor.setCheck(true);
                         break;
 
                     case 'b':
@@ -162,7 +161,7 @@ public static void agentmain(String agentArguments, Instrumentation instrumentat
     }
 
     public static boolean isActive() {
-        return active;
+        return ACTIVE;
     }
 
     private static class Transformer implements ClassFileTransformer {
plus

3

--- a/config/setup_load_paths.rb
+++ b/config/setup_load_paths.rb
@@ -2,7 +2,7 @@
   begin
     rvm_path     = File.dirname(File.dirname(ENV['MY_RUBY_HOME']))
     rvm_lib_path = File.join(rvm_path, 'lib')
-    $LOAD_PATH.unshift rvm_lib_path
+    #$LOAD_PATH.unshift rvm_lib_path
     require 'rvm'
     RVM.use_from_path! File.dirname(File.dirname(__FILE__))
   rescue LoadError
plus

25

--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -4,14 +4,15 @@
 homebrew_path = Pathname(`brew --prefix`.chomp)
 homebrew_path = Pathname('/usr/local') unless homebrew_path.exist?
 
-# add cask lib to load path
+# add homebrew-cask lib to load path
 brew_cask_path = homebrew_path.join('Library', 'Taps', 'caskroom', 'homebrew-cask')
 lib_path = brew_cask_path.join('lib')
 
 $:.push(lib_path)
 
-# add homebrew to load path
-$:.push(homebrew_path.join('Library', 'Homebrew'))
+# add our homebrew fork to load path
+# todo: removeme, this is transitional
+$:.push(lib_path.join('homebrew-fork', 'Library', 'Homebrew'))
 
 # require homebrew testing env
 require 'test/testing_env'
plus

24

--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -4,14 +4,15 @@
 homebrew_path = Pathname(`brew --prefix`.chomp)
 homebrew_path = Pathname('/usr/local') unless homebrew_path.exist?
 
-# add cask lib to load path
+# add homebrew-cask lib to load path
 brew_cask_path = homebrew_path.join('Library', 'Taps', 'caskroom', 'homebrew-cask')
 lib_path = brew_cask_path.join('lib')
 
 $:.push(lib_path)
 
-# add homebrew to load path
-$:.push(homebrew_path.join('Library', 'Homebrew'))
+# add our homebrew fork to load path
+# todo: removeme, this is transitional
+$:.push(lib_path.join('homebrew-fork', 'Library', 'Homebrew'))
 
 # require homebrew testing env
 require 'test/testing_env'
plus

62

--- a/src/core/Utils.h
+++ b/src/core/Utils.h
@@ -37,6 +37,7 @@ struct ApplicationInformation
 namespace Utils
 {
 
+void runApplication(const QString &command, const QString &fileName = QString());
 QString elideText(const QString &text, QWidget *widget = NULL, int width = -1);
 QString formatConfigurationEntry(const QLatin1String &key, const QString &value, bool quote = false);
 QString formatTime(int value);
plus

77

--- a/syncany-lib/src/main/java/org/syncany/operations/daemon/WebSocketUserInteractionListener.java
+++ b/syncany-lib/src/main/java/org/syncany/operations/daemon/WebSocketUserInteractionListener.java
@@ -51,7 +51,7 @@ public boolean onUserConfirm(String header, String message, String question) {
 
 	@Override
 	public void onShowMessage(String message) {
-		throw new RuntimeException("onShowMessage() not implemented for WebSocket init/connect.");
+		// Ignore this!
 	}
 
 	@Override
plus

3

--- a/src/bagawareapp/ManagerMainScreen.java
+++ b/src/bagawareapp/ManagerMainScreen.java
@@ -40,8 +40,9 @@
       private void Update_Table() {
         try {
             conn = jc.ConnecrDb();
-            String sql = "SELECT baglabelcode, Status, Datecreated FROM"
-                    + " bagawaredb.FOUND";
+            String sql = "SELECT baglabelcode 'Bagage Label', Status, "
+                    + "Datecreated 'Created On' "
+                    + "FROM bagawaredb.FOUND";
             pst = conn.prepareStatement(sql);
             rs = pst.executeQuery();
             tableCases.setModel(DbUtils.resultSetToTableModel(rs));
plus

3

--- a/bedita-app/models/tree.php
+++ b/bedita-app/models/tree.php
@@ -887,10 +887,19 @@ public function removeBranch($id/* , $parentId = false */) {
      * 
      * @param int $id ID of element to remove.
      * @return bool `true` if everything was ok, `false` otherwise.
-     * @throws BeditaException Throws an exception if attempting to remove a leaf (or a tree generated by an object that should be a leaf instead!), or an ubiquitous tree.
+     * @throws BeditaException Throws an exception if attempting to remove a non-root element, a leaf (or a tree generated by an object that should be a leaf instead!), or an ubiquitous tree (?!).
      * @see Tree::removeBranch()
      */
     public function removeTree($id) {
+        // Check if it's root.
+        $check = $this->find('count', array(
+            'contain' => array(),
+            'conditions' => array('id' = $id, 'area_id' = $id, 'parent_id' => null),
+        ));
+        if (!$check) {
+            throw new BeditaException(__('Object is not root', true), array('id' => $id));
+        }
+
     	return $this->removeBranch($id/*, null*/);
     }
 }
plus

12

--- a/plugins/usbdmx/EuroliteProFactory.cpp
+++ b/plugins/usbdmx/EuroliteProFactory.cpp
@@ -33,7 +33,7 @@ namespace usbdmx {
 const char EuroliteProFactory::EXPECTED_MANUFACTURER[] = "Eurolite";
 const char EuroliteProFactory::EXPECTED_PRODUCT[] = "Eurolite DMX512 Pro";
 const uint16_t EuroliteProFactory::PRODUCT_ID = 0xfa63;
-const uint16_t EuroliteProFactory::VENDOR_ID = 0x04d;
+const uint16_t EuroliteProFactory::VENDOR_ID = 0x04d8;
 
 
 bool EuroliteProFactory::DeviceAdded(
plus

23

--- a/PostMetabox.php
+++ b/PostMetabox.php
@@ -76,6 +76,8 @@ public function display( $post ) {
 
 			$error_fields = $data['fields'];
 			$form_data = $data['data'];
+
+			$this->display_notices( $data['messages'], 'error' );
 		}
 
 		$form_data = $this->before_display( $form_data, $post );
@@ -102,7 +104,7 @@ public function table_row( $row, $formdata, $errors = array() ) {
 		$input = scbForms::input( $row, $formdata );
 
 		// If row has an error, highlight it
-		$style = ( in_array( $row['name'], $errors ) ) ? 'style= "background-color: #FFCCCC"' : '';
+		$style = ( in_array( $row['name'], $errors ) ) ? 'style="background-color: #FFCCCC"' : '';
 
 		return html( 'tr',
 			html( "th $style scope='row'", $row['title'] ),
@@ -110,6 +112,16 @@ public function table_row( $row, $formdata, $errors = array() ) {
 		);
 	}
 
+	// Displays notices
+	public function display_notices( $notices, $class = 'updated' ) {
+		// add inline class so the notices stays in metabox
+		$class .= ' inline';
+
+		foreach ( (array) $notices as $notice ) {
+			echo scb_admin_notice( $notice, $class );
+		}
+	}
+
 	// Display some extra HTML before the form
 	public function before_form( $post ) { }
 
@@ -149,6 +161,7 @@ protected function save( $post_id ) {
 
 			$error_data = array(
 				'fields' => $is_valid->get_error_codes(),
+				'messages' => $is_valid->get_error_messages(),
 				'data' => $to_update
 			);
 			update_post_meta( $post_id, '_error_data_' . $this->id, $error_data );
plus

37

--- a/features/support/filtering_documents_helper.rb
+++ b/features/support/filtering_documents_helper.rb
@@ -26,10 +26,10 @@ def fill_in_filter(label, value, opts = {})
   def clear_filters
     within '#document-filter' do
       page.fill_in "Contains", with: ""
-      page.select "All publication types", from: "Publication type" if page.has_content?("Publication type")
+      page.select "All publication types", from: "Publication type" if page.has_selector?('label', text: "Publication type", wait: 0)
       page.select "All topics", from: "Topic"
       page.select "All departments", from: "Department"
-      page.select "All documents", from: "Official document status" if page.has_content?("Official document status")
+      page.select "All documents", from: "Official document status" if page.has_selector?('label', text: "Official document status", wait: 0)
       page.select "All locations", from: "World locations"
       page.fill_in "Published after", with: ""
       page.fill_in "Published before", with: ""
plus

7

index 0000000..cd17a8a
--- /dev/null
+++ b/tree/LevelOrder.java
@@ -0,0 +1,48 @@
+package Algorithms.tree;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Queue;
+
+/**
+ * Definition for binary tree
+ * public class TreeNode {
+ *     int val;
+ *     TreeNode left;
+ *     TreeNode right;
+ *     TreeNode(int x) { val = x; }
+ * }
+ */
+public class LevelOrder {
+    public List<List<Integer>> levelOrder(TreeNode root) {
+        List<List<Integer>> ret = new ArrayList<List<Integer>>();
+        if (root == null) {
+            return ret;
+        }
+        
+        Queue<TreeNode> q = new LinkedList<TreeNode>();
+        q.offer(root);
+        
+        while (!q.isEmpty()) {
+            int size = q.size();
+            List<Integer> list = new ArrayList<Integer>();
+            for (int i = 0; i < size; i++) {
+                TreeNode cur = q.poll();
+                list.add(cur.val);
+                
+                if (cur.left != null) {
+                    q.offer(cur.left);
+                }
+                
+                if (cur.right != null) {
+                    q.offer(cur.right);
+                }
+            }
+            
+            ret.add(list);
+        }
+        
+        return ret;
+    }
+}
\ No newline at end of file
plus

76

--- a/usr/local/www/services_captiveportal.php
+++ b/usr/local/www/services_captiveportal.php
@@ -1017,10 +1017,10 @@ function enable_change(enable_change) {
 					gettext('Upload an HTML/PHP file for the portal page here (leave blank to keep the current one). ' .
 							'Make sure to include a form (POST to %1$s) with a submit button (%2$s) and a hidden field with %3$s and %4$s. ' .
 							'Include the %5$s and %6$s and/or %7$s input fields if authentication is enabled, otherwise it will always fail.'),
-					"&quot;{$PORTAL_ACTION}&quot;",
+					'&quot;$PORTAL_ACTION&quot;',
 					"name=&quot;accept&quot;",
 					"name=&quot;redirurl&quot;",
-					"value=&quot;{$PORTAL_REDIRURL}&quot;",
+					'value=&quot;$PORTAL_REDIRURL&quot;',
 					"&quot;auth_user&quot;",
 					"&quot;auth_pass&quot;",
 					"&quot;auth_voucher&quot;");
plus

76

--- a/usr/local/www/services_captiveportal.php
+++ b/usr/local/www/services_captiveportal.php
@@ -1017,10 +1017,10 @@ function enable_change(enable_change) {
 					gettext('Upload an HTML/PHP file for the portal page here (leave blank to keep the current one). ' .
 							'Make sure to include a form (POST to %1$s) with a submit button (%2$s) and a hidden field with %3$s and %4$s. ' .
 							'Include the %5$s and %6$s and/or %7$s input fields if authentication is enabled, otherwise it will always fail.'),
-					"&quot;{$PORTAL_ACTION}&quot;",
+					'&quot;$PORTAL_ACTION&quot;',
 					"name=&quot;accept&quot;",
 					"name=&quot;redirurl&quot;",
-					"value=&quot;{$PORTAL_REDIRURL}&quot;",
+					'value=&quot;$PORTAL_REDIRURL&quot;',
 					"&quot;auth_user&quot;",
 					"&quot;auth_pass&quot;",
 					"&quot;auth_voucher&quot;");
plus

3

--- a/src/Mod/Path/App/FeaturePathShape.cpp
+++ b/src/Mod/Path/App/FeaturePathShape.cpp
@@ -68,7 +68,6 @@ App::DocumentObjectExecReturn *FeatureShape::execute(void)
     if (!shape.IsNull()) {
         if (shape.ShapeType() == TopAbs_WIRE) {
             Path::Toolpath result;
-            Base::Vector3d base;
             bool first = true;
             
             TopExp_Explorer ExpEdges (shape,TopAbs_EDGE);
@@ -82,15 +81,18 @@ App::DocumentObjectExecReturn *FeatureShape::execute(void)
                     Base::Placement tpl;
                     tpl.setPosition(Base::Vector3d(pnt.X(),pnt.Y(),pnt.Z()));
                     if (first) {
-                        Placement.setValue(tpl);
-                        base = Base::Vector3d(pnt.X(),pnt.Y(),pnt.Z());
+                        // add first point as a G0 move
+                        Path::Command cmd;
+                        std::ostringstream ctxt;
+                        ctxt << "G0 X" << tpl.getPosition().x << " Y" << tpl.getPosition().y << " Z" << tpl.getPosition().z;
+                        cmd.setFromGCode(ctxt.str());
+                        result.addCommand(cmd);
                         first = false;
                         vfirst = false;
                     } else {
                         if (vfirst)
                             vfirst = false;
                         else {
-                            tpl.setPosition(tpl.getPosition()-base);
                             Path::Command cmd;
                             cmd.setFromPlacement(tpl);
                             result.addCommand(cmd);
plus

11

--- a/inventory.js
+++ b/inventory.js
@@ -49,7 +49,7 @@ com.getflourish = (function() {
     },
     addCheckeredBackground: function(artboard) {
       log(artboard)
-      var layer = artboard.addLayerOfType("rectangle").embedInShapeGroup();
+      var layer = artboard.addLayerOfType("rectangle");
       layer.frame().setWidth(artboard.frame().width());
       layer.frame().setHeight(artboard.frame().height());
       layer.setName("Background");
@@ -72,7 +72,7 @@ com.getflourish = (function() {
       return layer;
     },
     addSolidBackground: function (artboard, hex_string) {
-      var layer = artboard.addLayerOfType("rectangle").embedInShapeGroup();
+      var layer = artboard.addLayerOfType("rectangle");
       layer.frame().setWidth(artboard.frame().width());
       layer.frame().setHeight(artboard.frame().height());
       layer.style().fills().addNewStylePart();
@@ -1069,7 +1069,7 @@ com.getflourish = (function() {
     },
     addColorShape: function (artboard, color, width, height) {
       // add layer
-      var layer = artboard.addLayerOfType("rectangle").embedInShapeGroup();
+      var layer = artboard.addLayerOfType("rectangle");
       layer.frame().setWidth(width);
       layer.frame().setHeight(height);
       layer.style().fills().addNewStylePart();
@@ -1080,7 +1080,7 @@ com.getflourish = (function() {
     },
     addGradientShape: function (artboard, gradient, width, height) {
       // add layer
-      var layer = artboard.addLayerOfType("rectangle").embedInShapeGroup();
+      var layer = artboard.addLayerOfType("rectangle");
       layer.frame().setWidth(width);
       layer.frame().setHeight(height);
       layer.style().fills().addNewStylePart();
@@ -1308,7 +1308,7 @@ com.getflourish = (function() {
 
     createRuleSetStr: function (layer) {
 
-      var baseunit = com.getflourish.css.getBaseUnit();
+      if(com.getflourish.css.formatOptions.useRelativeFontSize == true) var baseunit = com.getflourish.css.getBaseUnit();
 
       var str = '';
 
@@ -1338,7 +1338,7 @@ com.getflourish = (function() {
 
         switch (property) {
           case "font-size":
-            if (com.getflourish.css.formatOptions.useRelativeFontSize) {
+            if (com.getflourish.css.formatOptions.useRelativeFontSize == true) {
               value = value / baseunit;
               declaration = property + ": " + value + "rem;";
             }
@@ -1844,9 +1844,6 @@ com.getflourish = (function() {
     },
     exportStyles: function (artboard, path) {
 
-      // ask for base unit
-      var baseunit = com.getflourish.css.getBaseUnit();
-
       // Document path
       if (doc.fileURL() != null) {
 
plus

10

--- a/core/models/identity.py
+++ b/core/models/identity.py
@@ -9,7 +9,7 @@
 from django.db import models
 
 from threepio import logger
-
+from uuid import uuid5, uuid4
 
 class Identity(models.Model):
     """
@@ -175,8 +175,17 @@ def create_identity(cls, username, provider_location,
 
             default_allocation = Allocation.default_allocation()
             #2. Create an Identity Membership
-            identity = Identity.objects.get_or_create(
-                created_by=user, provider=provider)[0]
+            #DEV NOTE: I have a feeling that THIS line will mean
+            #          creating a secondary identity for a user on a given
+            #          provider will be