Changeset 33425 in webkit
- Timestamp:
- May 13, 2008 6:44:59 PM (16 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r33420 r33425 1 2008-05-13 Timothy Hatcher <timothy@apple.com> 2 3 Fixes a crash when stepping out in the Inspector's debugger. 4 5 http://bugs.webkit.org/show_bug.cgi?id=19037 6 7 Reviewed by Dan Bernstein. 8 9 * page/InspectorController.cpp: 10 (WebCore::currentCallFrame): Adds a null check of currentCallFrame, 11 since it can be null. Also returns JSNull to better signify this. 12 * page/inspector/ScriptsPanel.js: Updates the debugger interface 13 when stepping so the currentCallFrame isn't accessed when not paused. 14 Adds a _clearInterface function to remove duplicate code. 15 1 16 2008-05-13 chris fleizach <cfleizach@apple.com> 2 17 -
trunk/WebCore/page/InspectorController.cpp
r33406 r33425 829 829 830 830 JavaScriptCallFrame* callFrame = controller->currentCallFrame(); 831 if (!callFrame ->isValid())832 return JSValueMake Undefined(ctx);831 if (!callFrame || !callFrame->isValid()) 832 return JSValueMakeNull(ctx); 833 833 834 834 ExecState* globalExec = callFrame->execState()->lexicalGlobalObject()->globalExec(); -
trunk/WebCore/page/inspector/ScriptsPanel.js
r33416 r33425 289 289 this.visibleView = null; 290 290 291 this._clearCurrentExecutionLine();292 293 291 if (!InspectorController.debuggerAttached()) { 294 292 this._paused = false; … … 297 295 } 298 296 299 this.sidebarPanes.callstack.update(null); 300 this.sidebarPanes.scopechain.update(null); 301 302 this._updateDebuggerButtons(); 297 this._clearInterface(); 303 298 304 299 this.filesSelectElement.removeChildren(); … … 565 560 }, 566 561 562 _clearInterface: function() 563 { 564 this.sidebarPanes.callstack.update(null); 565 this.sidebarPanes.scopechain.update(null); 566 567 this._clearCurrentExecutionLine(); 568 this._updateDebuggerButtons(); 569 }, 570 567 571 _toggleDebugging: function() 568 572 { … … 570 574 this._waitingToPause = false; 571 575 this._stepping = false; 576 577 this._clearInterface(); 572 578 573 579 if (InspectorController.debuggerAttached()) { … … 578 584 InspectorController.startDebuggingAndReloadInspectedPage(); 579 585 } 580 581 this.sidebarPanes.callstack.update(null);582 this.sidebarPanes.scopechain.update(null);583 584 this._clearCurrentExecutionLine();585 this._updateDebuggerButtons();586 586 }, 587 587 … … 598 598 } 599 599 600 this.sidebarPanes.callstack.update(null); 601 this.sidebarPanes.scopechain.update(null); 602 603 this._clearCurrentExecutionLine(); 604 this._updateDebuggerButtons(); 600 this._clearInterface(); 605 601 }, 606 602 … … 610 606 this._stepping = true; 611 607 608 this._clearInterface(); 609 612 610 InspectorController.stepOverStatementInDebugger(); 613 611 }, … … 618 616 this._stepping = true; 619 617 618 this._clearInterface(); 619 620 620 InspectorController.stepIntoStatementInDebugger(); 621 621 }, … … 625 625 this._paused = false; 626 626 this._stepping = true; 627 628 this._clearInterface(); 627 629 628 630 InspectorController.stepOutOfFunctionInDebugger();
Note: See TracChangeset
for help on using the changeset viewer.