Crash when pattern fill is quickly changed

Bug #1348891 reported by Tomasz Boczkowski on 2014-07-26
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
High
Liam P. White

Bug Description

When pattern applied to an object is changed multiple times over a short period of time, inkscape crashes.

Steps to reproduce:
1) Draw a shape
2) Using a fill and stroke dialog apply a pattern
3) Quickly change patterns

I attach a core dump for inkscape experimental r13440 compiled with --enable-gtk3-experimental. My system is OpenSUSE 13.1

Liam P. White (liampwhite) wrote :

Core dumps only work if the binary that core dumped matches the core. My binary has a high probability of being different, therefore, your core is unusable to me.

Liam P. White (liampwhite) wrote :

Confirmed with trunk r13472.

Changed in inkscape:
status: New → Confirmed
su_v (suv-lp) on 2014-07-27
Changed in inkscape:
importance: Undecided → High
Liam P. White (liampwhite) wrote :

@Tomasz: can you try this patch to see if it resolves your issue?

=== modified file 'src/style.cpp'
--- src/style.cpp 2014-06-10 09:29:58 +0000
+++ src/style.cpp 2014-07-28 16:38:56 +0000
@@ -227,11 +227,6 @@
         document = document_in;
     }

- new (&release_connection) sigc::connection();
- new (&filter_modified_connection) sigc::connection();
- new (&fill_ps_modified_connection) sigc::connection();
- new (&stroke_ps_modified_connection) sigc::connection();
-
     // 'font' shorthand requires access to included properties.
     font.setStylePointer( this );

@@ -431,7 +426,6 @@

     // Remove connections
     release_connection.disconnect();
- release_connection.~connection();

     // The following shoud be moved into SPIPaint and SPIFilter
     if (fill.value.href) {
@@ -446,12 +440,7 @@
         filter_modified_connection.disconnect();
     }

- filter_modified_connection.~connection();
- fill_ps_modified_connection.~connection();
- stroke_ps_modified_connection.~connection();
-
     _properties.clear();
- //_propmap.clear();

     // std::cout << "SPStyle::~SPstyle(): Exit\n" << std::endl;
 }

Liam P. White (liampwhite) wrote :

I believe that this has been fixed in lp:inkscape r13474.

Changed in inkscape:
status: Confirmed → Fix Committed
assignee: nobody → Liam P. White (inkscapebrony)
su_v (suv-lp) on 2014-07-29
Changed in inkscape:
milestone: none → 0.91

After applying the patch patterns work ok. I haven't noticed any crashes.

Bryce Harrington (bryce) on 2015-02-21
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers