}
static BOOL check_order_activated(wLog* log, rdpSettings* settings, const char* orderName,
- BOOL condition)
+ BOOL condition, const char* extendedMessage)
{
if (!condition)
{
WLog_Print(log, WLOG_WARN,
"%s - SERVER BUG: The support for this feature was not announced!",
orderName);
+ if (extendedMessage)
+ WLog_Print(log, WLOG_WARN, "%s", extendedMessage);
return TRUE;
}
else
"%s - SERVER BUG: The support for this feature was not announced! Use "
"/relax-order-checks to ignore",
orderName);
+ if (extendedMessage)
+ WLog_Print(log, WLOG_WARN, "%s", extendedMessage);
return FALSE;
}
}
static BOOL check_alt_order_supported(wLog* log, rdpSettings* settings, BYTE orderType,
const char* orderName)
{
+ const char* extendedMessage = NULL;
BOOL condition = FALSE;
switch (orderType)
case ORDER_TYPE_CREATE_OFFSCREEN_BITMAP:
case ORDER_TYPE_SWITCH_SURFACE:
condition = settings->OffscreenSupportLevel != 0;
+ extendedMessage = "Adding +offscreen-cache might mitigate";
break;
case ORDER_TYPE_CREATE_NINE_GRID_BITMAP:
break;
}
- return check_order_activated(log, settings, orderName, condition);
+ return check_order_activated(log, settings, orderName, condition, extendedMessage);
}
static BOOL check_secondary_order_supported(wLog* log, rdpSettings* settings, BYTE orderType,
const char* orderName)
{
+ const char* extendedMessage = NULL;
BOOL condition = FALSE;
switch (orderType)
case ORDER_TYPE_BITMAP_UNCOMPRESSED:
case ORDER_TYPE_CACHE_BITMAP_COMPRESSED:
condition = settings->BitmapCacheEnabled;
+ extendedMessage = "Adding +bitmap-cache might mitigate";
break;
case ORDER_TYPE_BITMAP_UNCOMPRESSED_V2:
case ORDER_TYPE_BITMAP_COMPRESSED_V2:
condition = settings->BitmapCacheEnabled;
+ extendedMessage = "Adding +bitmap-cache might mitigate";
break;
case ORDER_TYPE_BITMAP_COMPRESSED_V3:
condition = settings->BitmapCacheV3Enabled;
+ extendedMessage = "Adding +bitmap-cache might mitigate";
break;
case ORDER_TYPE_CACHE_COLOR_TABLE:
break;
}
- return check_order_activated(log, settings, orderName, condition);
+ return check_order_activated(log, settings, orderName, condition, extendedMessage);
}
static BOOL check_primary_order_supported(wLog* log, rdpSettings* settings, UINT32 orderType,
const char* orderName)
{
+ const char* extendedMessage = NULL;
BOOL condition = FALSE;
switch (orderType)
break;
}
- return check_order_activated(log, settings, orderName, condition);
+ return check_order_activated(log, settings, orderName, condition, extendedMessage);
}
static const char* primary_order_string(UINT32 orderType)