Solving issue 1961: "Gui freezes when using 'apply-partial'" + fix an include in order to use the TRACE_MYRWMUTEX define

This commit is contained in:
Hombre
2013-08-30 21:36:23 +02:00
parent 63b9929539
commit b1c2480c3e
2 changed files with 9 additions and 4 deletions

View File

@@ -1099,19 +1099,24 @@ void FileBrowser::applyMenuItemActivated (Glib::ustring ppname) {
void FileBrowser::applyPartialMenuItemActivated (Glib::ustring ppname) { void FileBrowser::applyPartialMenuItemActivated (Glib::ustring ppname) {
// TODO: Check for Linux {
#if PROTECT_VECTORS #if PROTECT_VECTORS
MYREADERLOCK(l, entryRW); MYREADERLOCK(l, entryRW);
#endif #endif
if (!tbl || selected.empty()) if (!tbl || selected.empty())
return; return;
}
const rtengine::procparams::PartialProfile* srcProfiles = profileStore.getProfile (ppname); const rtengine::procparams::PartialProfile* srcProfiles = profileStore.getProfile (ppname);
if (srcProfiles->pparams) { if (srcProfiles->pparams) {
if (partialPasteDlg.run()==Gtk::RESPONSE_OK) { if (partialPasteDlg.run()==Gtk::RESPONSE_OK) {
#if PROTECT_VECTORS
MYREADERLOCK(l, entryRW);
#endif
if (bppcl) if (bppcl)
bppcl->beginBatchPParamsChange(selected.size()); bppcl->beginBatchPParamsChange(selected.size());
for (size_t i=0; i<selected.size(); i++) { for (size_t i=0; i<selected.size(); i++) {

View File

@@ -23,7 +23,7 @@
#include <glibmm.h> #include <glibmm.h>
#include <csignal> // for raise() #include <csignal> // for raise()
#include <cstdio> #include <iostream>
#ifdef WIN32 #ifdef WIN32
#include <windows.h> #include <windows.h>
@@ -87,7 +87,7 @@ public:
#if STRICT_MUTEX || !defined(NDEBUG) #if STRICT_MUTEX || !defined(NDEBUG)
if (alreadyLocked) { if (alreadyLocked) {
#ifndef NDEBUG #ifndef NDEBUG
printf("Warning: MyMutex already locked!\n"); // breakpoint std::cout << "Warning: MyMutex already locked!" << std::endl; // breakpoint
#endif #endif
#if STRICT_MUTEX #if STRICT_MUTEX
#ifndef NDEBUG #ifndef NDEBUG
@@ -115,7 +115,7 @@ public:
#if STRICT_MUTEX || !defined(NDEBUG) #if STRICT_MUTEX || !defined(NDEBUG)
if (alreadyLocked) { if (alreadyLocked) {
#ifndef NDEBUG #ifndef NDEBUG
printf("Warning: MyMutex already locked!\n"); // breakpoint std::cout << "Warning: MyMutex already locked!" << std::endl; // breakpoint
#endif #endif
#if STRICT_MUTEX #if STRICT_MUTEX
#ifndef NDEBUG #ifndef NDEBUG