From 41304d44636523e8d88536b477703791524b4efc Mon Sep 17 00:00:00 2001 From: David Grudl Date: Thu, 14 Jul 2016 12:24:01 +0200 Subject: [PATCH 1/2] Debugger::enable() throws exception when output has been sent --- src/Tracy/Debugger.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Tracy/Debugger.php b/src/Tracy/Debugger.php index dd6b3890b..d116257da 100644 --- a/src/Tracy/Debugger.php +++ b/src/Tracy/Debugger.php @@ -188,8 +188,17 @@ public static function enable($mode = NULL, $logDirectory = NULL, $email = NULL) array_map('class_exists', ['Tracy\Bar', 'Tracy\BlueScreen', 'Tracy\DefaultBarPanel', 'Tracy\Dumper', 'Tracy\FireLogger', 'Tracy\Helpers', 'Tracy\Logger']); - if (!self::$productionMode && self::getBar()->dispatchAssets()) { + if (self::$productionMode) { + + } elseif (headers_sent($file, $line) || ob_get_length()) { + throw new \RuntimeException( + 'Tracy was enabled after some output has been sent. ' + . ($file ? "Output started at $file:$line." : 'Try Tracy\OutputDebugger to find where output started.') + ); + + } elseif (self::getBar()->dispatchAssets()) { exit; + } elseif (session_status() === PHP_SESSION_ACTIVE) { self::dispatch(); } From a02114c38d16d14cfed08a86ec29608c2a6a5149 Mon Sep 17 00:00:00 2001 From: Jaroslav Hanslik Date: Thu, 14 Jul 2016 16:56:00 +0200 Subject: [PATCH 2/2] All H1 tags should make panel draggable --- src/Tracy/assets/Bar/bar.js | 47 ++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/src/Tracy/assets/Bar/bar.js b/src/Tracy/assets/Bar/bar.js index a49ce4ed6..63be94c17 100755 --- a/src/Tracy/assets/Bar/bar.js +++ b/src/Tracy/assets/Bar/bar.js @@ -33,7 +33,7 @@ evalScripts(elem); draggable(elem, { - handle: elem.querySelector('h1'), + handles: Array.prototype.slice.call(elem.querySelectorAll('h1')), stop: function() { _this.toFloat(); } @@ -218,6 +218,7 @@ this.elem = document.getElementById(this.id); draggable(this.elem, { + handles: [this.elem], draggedClass: 'tracy-dragged' }); @@ -495,30 +496,32 @@ return false; }; - (options.handle || elem).addEventListener('mousedown', function(e) { - e.preventDefault(); - e.stopPropagation(); + forEach(options.handles, function (handle) { + handle.addEventListener('mousedown', function(e) { + e.preventDefault(); + e.stopPropagation(); - if (dragging) { // missed mouseup out of window? - return onmouseup(e); - } + if (dragging) { // missed mouseup out of window? + return onmouseup(e); + } - var pos = getPosition(elem); - clientX = e.clientX; - clientY = e.clientY; - deltaX = pos.right + clientX; - deltaY = pos.bottom + clientY; - dragging = true; - started = false; - dE.addEventListener('mousemove', onmousemove); - dE.addEventListener('mouseup', onmouseup); - requestAnimationFrame(redraw); - }); + var pos = getPosition(elem); + clientX = e.clientX; + clientY = e.clientY; + deltaX = pos.right + clientX; + deltaY = pos.bottom + clientY; + dragging = true; + started = false; + dE.addEventListener('mousemove', onmousemove); + dE.addEventListener('mouseup', onmouseup); + requestAnimationFrame(redraw); + }); - (options.handle || elem).addEventListener('click', function(e) { - if (started) { - e.stopImmediatePropagation(); - } + handle.addEventListener('click', function(e) { + if (started) { + e.stopImmediatePropagation(); + } + }); }); }