diff --git a/modules/twainui/hg_settingdialog.cpp b/modules/twainui/hg_settingdialog.cpp index 5aeaa8bb..68c6930d 100644 --- a/modules/twainui/hg_settingdialog.cpp +++ b/modules/twainui/hg_settingdialog.cpp @@ -1397,59 +1397,64 @@ void hg_settingdialog::slot_gammaButtonClicked() setPicClrTool dlg(colorMode, this); - QList grayKeyTable; - for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GRAY]; ++i) + if (1 == colorMode) { - uchar x = m_gammaData.pt_gray[i]; - uchar y = m_gammaData.table[256 * GAMMA_INDEX_GRAY + x]; - grayKeyTable.append(QPoint(x, y)); - } + QList grayKeyTable; + for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GRAY]; ++i) + { + uchar x = m_gammaData.pt_gray[i]; + uchar y = m_gammaData.table[256 * GAMMA_INDEX_GRAY + x]; + grayKeyTable.append(QPoint(x, y)); + } - if (!grayKeyTable.empty()) - { - dlg.setGrayKeyTable(grayKeyTable); + if (!grayKeyTable.empty()) + { + dlg.setGrayKeyTable(grayKeyTable); + } } - - QList colorKeyTable; - for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_COLOR]; ++i) + else if (0 == colorMode) { - uchar x = m_gammaData.pt_color[i]; - uchar y = m_gammaData.table[256 * GAMMA_INDEX_COLOR + x]; - colorKeyTable.append(QPoint(x, y)); - } + QList colorKeyTable; + for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_COLOR]; ++i) + { + uchar x = m_gammaData.pt_color[i]; + uchar y = m_gammaData.table[256 * GAMMA_INDEX_COLOR + x]; + colorKeyTable.append(QPoint(x, y)); + } - QList rKeyTable; - for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_RED]; ++i) - { - uchar x = m_gammaData.pt_red[i]; - uchar y = m_gammaData.table[256 * GAMMA_INDEX_RED + x]; - rKeyTable.append(QPoint(x, y)); - } + QList rKeyTable; + for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_RED]; ++i) + { + uchar x = m_gammaData.pt_red[i]; + uchar y = m_gammaData.table[256 * GAMMA_INDEX_RED + x]; + rKeyTable.append(QPoint(x, y)); + } - QList gKeyTable; - for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GREEN]; ++i) - { - uchar x = m_gammaData.pt_green[i]; - uchar y = m_gammaData.table[256 * GAMMA_INDEX_GREEN + x]; - gKeyTable.append(QPoint(x, y)); - } + QList gKeyTable; + for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GREEN]; ++i) + { + uchar x = m_gammaData.pt_green[i]; + uchar y = m_gammaData.table[256 * GAMMA_INDEX_GREEN + x]; + gKeyTable.append(QPoint(x, y)); + } - QList bKeyTable; - for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_BLUE]; ++i) - { - uchar x = m_gammaData.pt_blue[i]; - uchar y = m_gammaData.table[256 * GAMMA_INDEX_BLUE + x]; - bKeyTable.append(QPoint(x, y)); - } + QList bKeyTable; + for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_BLUE]; ++i) + { + uchar x = m_gammaData.pt_blue[i]; + uchar y = m_gammaData.table[256 * GAMMA_INDEX_BLUE + x]; + bKeyTable.append(QPoint(x, y)); + } - QVector> keyTableList; - if (!colorKeyTable.empty() && !rKeyTable.empty() && !gKeyTable.empty() && !bKeyTable.empty()) - { - keyTableList.append(colorKeyTable); - keyTableList.append(rKeyTable); - keyTableList.append(gKeyTable); - keyTableList.append(bKeyTable); - dlg.setRGBKeyTable(keyTableList); + QVector> keyTableList; + if (!colorKeyTable.empty() && !rKeyTable.empty() && !gKeyTable.empty() && !bKeyTable.empty()) + { + keyTableList.append(colorKeyTable); + keyTableList.append(rKeyTable); + keyTableList.append(gKeyTable); + keyTableList.append(bKeyTable); + dlg.setRGBKeyTable(keyTableList); + } } int rgbTypeIndex = 0; @@ -1460,7 +1465,6 @@ void hg_settingdialog::slot_gammaButtonClicked() dlg.setRgbAndColorType(rgbTypeIndex, colorTypeIndex); if (dlg.exec()) { - memset(&m_gammaData, 0, sizeof(m_gammaData)); clicked_gamma_ = true; if (1 == colorMode)