diff --git a/ui/data.js b/ui/data.js index 809e7543..ccfee879 100755 --- a/ui/data.js +++ b/ui/data.js @@ -1572,8 +1572,16 @@ function cropDataTo(gids, keep_ribbons){ var cur = DATA.current var r = getRibbonIndex() + var new_data = makeCroppedData(gids, keep_ribbons) + + // do nothing if there is no change... + // XXX is there a better way to compare states??? + if(JSON.stringify(DATA.ribbons) == JSON.stringify(new_data.ribbons)){ + return DATA + } + CROP_STACK.push(prev_state) - DATA = makeCroppedData(gids, keep_ribbons) + DATA = new_data cur = getGIDBefore(cur, keep_ribbons ? r : 0) cur = cur == null ? gids[0] : cur diff --git a/ui/marks.js b/ui/marks.js index 818f0cd4..78bd354b 100755 --- a/ui/marks.js +++ b/ui/marks.js @@ -59,8 +59,6 @@ var toggleMarkedOnlyView = createCSSClassToggler( }, function(action){ if(action == 'on'){ - // XXX do nothing if there is no change... - // XXX cropMarkedImages() } else { //uncropData() diff --git a/ui/modes.js b/ui/modes.js index 070dbfc4..8e1f46ff 100755 --- a/ui/modes.js +++ b/ui/modes.js @@ -187,8 +187,6 @@ var toggleSingleRibbonMode = createCSSClassToggler( }, function(action){ if(action == 'on'){ - // XXX do nothing if there is no change... - // XXX cropDataTo(DATA.ribbons[getRibbonIndex()].slice()) } else { //uncropData()