Return-Path: X-Original-To: apmail-incubator-ooo-issues-archive@minotaur.apache.org Delivered-To: apmail-incubator-ooo-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 16706C7DE for ; Fri, 11 May 2012 07:22:01 +0000 (UTC) Received: (qmail 84618 invoked by uid 500); 11 May 2012 07:22:00 -0000 Delivered-To: apmail-incubator-ooo-issues-archive@incubator.apache.org Received: (qmail 84511 invoked by uid 500); 11 May 2012 07:22:00 -0000 Mailing-List: contact ooo-issues-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ooo-issues@incubator.apache.org Delivered-To: mailing list ooo-issues@incubator.apache.org Received: (qmail 84487 invoked by uid 99); 11 May 2012 07:21:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2012 07:21:59 +0000 X-ASF-Spam-Status: No, hits=-1997.8 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE X-Spam-Check-By: apache.org Received: from [140.211.11.123] (HELO sif.zones.apache.org) (140.211.11.123) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 11 May 2012 07:21:58 +0000 Received: by sif.zones.apache.org (Postfix, from userid 80) id 30E3C4DF6; Fri, 11 May 2012 07:21:38 +0000 (UTC) From: bugzilla@apache.org To: ooo-issues@incubator.apache.org Subject: [Bug 118877] [From Symphony] Calc crashes when Redo refreshing data Date: Fri, 11 May 2012 07:21:33 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: spreadsheet X-Bugzilla-Component: ui X-Bugzilla-Keywords: X-Bugzilla-Severity: critical X-Bugzilla-Who: debin.lei@gmail.com X-Bugzilla-Status: CONFIRMED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: ooo-issues@incubator.apache.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: multipart/alternative; boundary="1336720898.B5BCf0.19551"; charset="us-ascii" X-Bugzilla-URL: https://issues.apache.org/ooo/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org --1336720898.B5BCf0.19551 Date: Fri, 11 May 2012 07:21:38 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" https://issues.apache.org/ooo/show_bug.cgi?id=118877 Lei Debin changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |debin.lei@gmail.com --- Comment #1 from Lei Debin --- The root cause is using an invalid pointer. The source code is located at main\sc\source\core\data\table3.cxx In void ScTable::SwapRow(SCROW nRow1, SCROW nRow2) method, const ScPatternAttr* pPat1 = GetPattern(nCol, nRow1); const ScPatternAttr* pPat2 = GetPattern(nCol, nRow2); if (pPat1 != pPat2) { SetPattern(nCol, nRow1, *pPat2, TRUE); SetPattern(nCol, nRow2, *pPat1, TRUE); } sometimes, pPat1 will be deleted in SetPattern(nCol, nRow1, *pPat2, TRUE);(if pPat2 point to the same content as pPat1) So when execute SetPattern(nCol, nRow2, *pPat1, TRUE); it will use a deleted object, crashed !!! The solution is to check the content refer by the pointer instead of the pointer itself. The ScPatternAttr had a function == int __EXPORT ScPatternAttr::operator==( const SfxPoolItem& rCmp ) const { // #i62090# Use quick comparison between ScPatternAttr's ItemSets return ( EqualPatternSets( GetItemSet(), static_cast(rCmp).GetItemSet() ) && StrCmp( GetStyleName(), static_cast(rCmp).GetStyleName() ) ); } -- You are receiving this mail because: You are the assignee for the bug. --1336720898.B5BCf0.19551--