diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/extension/internal/emf-win32-inout.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/extension/internal/emf-win32-inout.cpp b/src/extension/internal/emf-win32-inout.cpp index eb4995885..59f538ab9 100644 --- a/src/extension/internal/emf-win32-inout.cpp +++ b/src/extension/internal/emf-win32-inout.cpp @@ -505,6 +505,15 @@ myEnhMetaFileProc(HDC hDC, HANDLETABLE *lpHTable, ENHMETARECORD *lpEMFR, int nOb if (pEmr->nHandles) { d->n_obj = pEmr->nHandles; d->emf_obj = new EMF_OBJECT[d->n_obj]; + + // Init the new emf_obj list elements to null, provided the + // dynamic allocation succeeded. + if ( d->emf_obj != NULL ) + { + for( unsigned int i=0; i < d->n_obj; ++i ) + d->emf_obj[i].lpEMFR = NULL; + } //if + } else { d->emf_obj = NULL; } @@ -1349,7 +1358,7 @@ EmfWin32::open( Inkscape::Extension::Input *mod, const gchar *uri ) delete_object(&d, i); delete[] d.emf_obj; } - + if (d.style.stroke_dash.dash) delete[] d.style.stroke_dash.dash; |
