[Wine-devel] [Wine-patches] [eter-2.0.0] [2/2] winspool.drv: Get default DEVMODEW. (eterbug #8821)[resend]
Dmitry Timoshkov
dtimoshkov на etersoft.ru
Сб Янв 5 09:34:54 MSK 2013
Tatyana Fokina <tatyana на etersoft.ru> wrote:
> - if(!pDeviceName) {
> + if(!pDeviceName || !strcmp(pDeviceName,"")) {
strcmp() здесь не нужен, обычно делают так:
if(!pDeviceName || !*pDeviceName)
Похоже, что эта часть патча должна быть отправлена отдельно.
> + DWORD size;
> + DWORD buflen = sizeof(DEVMODEW);
> + LPBYTE ptr = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, buflen);
> +
> + if(!(fMode&DM_IN_BUFFER))
> + {
> + WINSPOOL_GetDefaultDevMode(ptr, buflen, &size);
> + if(!pDevModeInput)
> + pDevModeInput = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
> + memcpy(pDevModeInput, ptr, size);
> + }
Столько ненужного кода, только для того. чтобы избежать вызова DEVMODEdupWtoA()
если DM_IN_BUFFER не установлен?
pDevModeInputA = (fMode & DM_IN_BUFFER) ? DEVMODEdupWtoA(pDevModeInput) : NULL;
выглядит гораздо проще и понятнее.
DocumentPropertiesA() должен быть так же исправлен, чтобы не передавать мусор
дальше.
Все эти исправления как 3 отдельных патча нужно отправить в winehq.
--
Dmitry.
Подробная информация о списке рассылки Wine-devel