v4.28: 修改配置保存未将float转为SANE_Fixed的BUG
This commit is contained in:
parent
b764b210e9
commit
32b61ba139
|
@ -51,8 +51,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 4,27,10000,22266
|
FILEVERSION 4,28,10000,22270
|
||||||
PRODUCTVERSION 4,27,10000,22266
|
PRODUCTVERSION 4,28,10000,22270
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -69,12 +69,12 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "宁波华高信息科技有限公司"
|
VALUE "CompanyName", "宁波华高信息科技有限公司"
|
||||||
VALUE "FileDescription", "华高扫描仪应用程序"
|
VALUE "FileDescription", "华高扫描仪应用程序"
|
||||||
VALUE "FileVersion", "4.27.10000.22266"
|
VALUE "FileVersion", "4.28.10000.22270"
|
||||||
VALUE "InternalName", "scanner.dll"
|
VALUE "InternalName", "scanner.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) HUAGOScan 2022"
|
VALUE "LegalCopyright", "Copyright (C) HUAGOScan 2022"
|
||||||
VALUE "OriginalFilename", "scanner.dll"
|
VALUE "OriginalFilename", "scanner.dll"
|
||||||
VALUE "ProductName", "HUAGOScan"
|
VALUE "ProductName", "HUAGOScan"
|
||||||
VALUE "ProductVersion", "4.27.10000.22266"
|
VALUE "ProductVersion", "4.28.10000.22270"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
|
@ -1085,4 +1085,13 @@ namespace gb
|
||||||
else
|
else
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
std::string sane_config::get_version(void)
|
||||||
|
{
|
||||||
|
std::string ver("");
|
||||||
|
|
||||||
|
if (jsn_)
|
||||||
|
jsn_->get_value("ver", ver);
|
||||||
|
|
||||||
|
return ver;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,5 +113,6 @@ namespace gb
|
||||||
void end_setting(bool cancel);
|
void end_setting(bool cancel);
|
||||||
int id_from_title(const char* title);
|
int id_from_title(const char* title);
|
||||||
std::string to_text_stream(void);
|
std::string to_text_stream(void);
|
||||||
|
std::string get_version(void);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,8 +248,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 4,27,10000,22266
|
FILEVERSION 4,28,10000,22270
|
||||||
PRODUCTVERSION 4,27,10000,22266
|
PRODUCTVERSION 4,28,10000,22270
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -266,12 +266,12 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "宁波华高信息科技有限公司"
|
VALUE "CompanyName", "宁波华高信息科技有限公司"
|
||||||
VALUE "FileDescription", "华高扫描仪应用程序"
|
VALUE "FileDescription", "华高扫描仪应用程序"
|
||||||
VALUE "FileVersion", "4.27.10000.22266"
|
VALUE "FileVersion", "4.28.10000.22270"
|
||||||
VALUE "InternalName", "sane.dll"
|
VALUE "InternalName", "sane.dll"
|
||||||
VALUE "LegalCopyright", "Copyright (C) HUAGOScan 2022"
|
VALUE "LegalCopyright", "Copyright (C) HUAGOScan 2022"
|
||||||
VALUE "OriginalFilename", "sane.dll"
|
VALUE "OriginalFilename", "sane.dll"
|
||||||
VALUE "ProductName", "HUAGOScan"
|
VALUE "ProductName", "HUAGOScan"
|
||||||
VALUE "ProductVersion", "4.27.10000.22266"
|
VALUE "ProductVersion", "4.28.10000.22270"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
|
@ -236,7 +236,7 @@ void scanner::save_config(const wchar_t* file)
|
||||||
}
|
}
|
||||||
void scanner::apply_config(void)
|
void scanner::apply_config(void)
|
||||||
{
|
{
|
||||||
std::string t(""), v("");
|
std::string t(""), v(""), ver(cfg_->get_version());
|
||||||
if (cfg_->first_config(t, v))
|
if (cfg_->first_config(t, v))
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
|
@ -245,6 +245,7 @@ void scanner::apply_config(void)
|
||||||
if (id != -1)
|
if (id != -1)
|
||||||
{
|
{
|
||||||
void* data = &v[0];
|
void* data = &v[0];
|
||||||
|
SANE_Fixed fixed = 0;
|
||||||
const SANE_Option_Descriptor* desc = hg_sane_middleware::instance()->get_option_descriptor(handle_, id);
|
const SANE_Option_Descriptor* desc = hg_sane_middleware::instance()->get_option_descriptor(handle_, id);
|
||||||
if (desc)
|
if (desc)
|
||||||
{
|
{
|
||||||
|
@ -256,6 +257,21 @@ void scanner::apply_config(void)
|
||||||
strcpy(buf, v.c_str());
|
strcpy(buf, v.c_str());
|
||||||
data = buf;
|
data = buf;
|
||||||
}
|
}
|
||||||
|
else if (ver.empty() && desc->type == SANE_TYPE_FIXED) // 升级早期版本没将float转为SANE_Fixed的BUG
|
||||||
|
{
|
||||||
|
fixed = SANE_FIX(*(float*)data);
|
||||||
|
cfg_->config_changed(t.c_str(), (char*)&fixed, sizeof(fixed));
|
||||||
|
data = &fixed;
|
||||||
|
|
||||||
|
{
|
||||||
|
wchar_t msg[128] = { 0 };
|
||||||
|
unsigned char* f = (unsigned char*)&v[0], * to = (unsigned char*)data;
|
||||||
|
swprintf_s(msg, _countof(msg) - 1, L"Upgrage '%s' from '%02X%02X%02X%02X' to '%02X%02X%02X%02X'\r\n"
|
||||||
|
, local_trans::a2u(t.c_str(), CP_UTF8).c_str(), f[0], f[1], f[2], f[3]
|
||||||
|
, to[0], to[1], to[2], to[3]);
|
||||||
|
log_info(msg, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
SANE_Int after = 0;
|
SANE_Int after = 0;
|
||||||
hg_sane_middleware::instance()->set_option(handle_, id, SANE_ACTION_SET_VALUE, data, &after);
|
hg_sane_middleware::instance()->set_option(handle_, id, SANE_ACTION_SET_VALUE, data, &after);
|
||||||
if (buf)
|
if (buf)
|
||||||
|
|
Loading…
Reference in New Issue