diff --git a/rtgui/icmpanel.cc b/rtgui/icmpanel.cc index 7c2a38af4..cee691c8c 100644 --- a/rtgui/icmpanel.cc +++ b/rtgui/icmpanel.cc @@ -408,14 +408,14 @@ void ICMPanel::opChanged () { listener->panelChanged (EvOProfile, onames->get_active_text()); } -void ICMPanel::setRaw (bool raw) { +void ICMPanel::setRawMeta (bool raw, const rtengine::ImageData* pMeta) { disableListener (); icamera->set_active (raw); iembedded->set_active (!raw); icamera->set_sensitive (raw); - icameraICC->set_sensitive (raw); + icameraICC->set_sensitive (raw && iccStore->getStdProfile(pMeta->getCamera()) != NULL); iembedded->set_sensitive (!raw); enableListener (); diff --git a/rtgui/icmpanel.h b/rtgui/icmpanel.h index 5da57f876..055e59f41 100644 --- a/rtgui/icmpanel.h +++ b/rtgui/icmpanel.h @@ -24,6 +24,7 @@ #include #include +#include class ICMPanelListener { @@ -82,7 +83,7 @@ class ICMPanel : public Gtk::VBox, public AdjusterListener, public FoldableToolP void ipSelectionChanged (); void iccTogglesChanged(); - void setRaw (bool raw); + void setRawMeta (bool raw, const rtengine::ImageData* pMeta); void saveReferencePressed (); void setICMPanelListener (ICMPanelListener* ipl) { icmplistener = ipl; } diff --git a/rtgui/toolpanelcoord.cc b/rtgui/toolpanelcoord.cc index 7959493d3..d06aecfbc 100644 --- a/rtgui/toolpanelcoord.cc +++ b/rtgui/toolpanelcoord.cc @@ -310,8 +310,9 @@ void ToolPanelCoordinator::initImage (rtengine::StagedImageProcessor* ipc_, bool toneCurve->enableAll (); toneCurve->enableListener (); - exifpanel->setImageData (ipc->getInitialImage()->getMetaData()); - iptcpanel->setImageData (ipc->getInitialImage()->getMetaData()); + const rtengine::ImageMetaData* pMetaData=ipc->getInitialImage()->getMetaData(); + exifpanel->setImageData (pMetaData); + iptcpanel->setImageData (pMetaData); if (ipc) { ipc->setAutoExpListener (toneCurve); @@ -319,7 +320,7 @@ void ToolPanelCoordinator::initImage (rtengine::StagedImageProcessor* ipc_, bool ipc->setSizeListener (resize); } - icm->setRaw (raw); + icm->setRawMeta (raw, (const rtengine::ImageData*)pMetaData); hlrecovery->setRaw (raw); hasChanged = true; }