{
XSetRegion(xfc->display, xfc->gc, reg1);
XFillRectangle(xfc->display, xfc->window->handle, xfc->gc, 0, 0,
- xfc->window->width, xfc->window->height);
+ xfc->window->width, xfc->window->height);
XSetClipMask(xfc->display, xfc->gc, None);
}
picFormat = XRenderFindVisualFormat(xfc->display, xfc->visual);
pa.subwindow_mode = IncludeInferiors;
primaryPicture = XRenderCreatePicture(xfc->display, xfc->primary, picFormat,
- CPSubwindowMode, &pa);
+ CPSubwindowMode, &pa);
windowPicture = XRenderCreatePicture(xfc->display, xfc->window->handle,
- picFormat, CPSubwindowMode, &pa);
+ picFormat, CPSubwindowMode, &pa);
XRenderSetPictureFilter(xfc->display, primaryPicture, FilterBilinear, 0, 0);
transform.matrix[0][0] = XDoubleToFixed(xScalingFactor);
transform.matrix[0][1] = XDoubleToFixed(0.0);
h = ceil(y2 / yScalingFactor) + 1 - y;
XRenderSetPictureTransform(xfc->display, primaryPicture, &transform);
XRenderComposite(xfc->display, PictOpSrc, primaryPicture, 0, windowPicture, x,
- y, 0, 0, xfc->offset_x + x, xfc->offset_y + y, w, h);
+ y, 0, 0, xfc->offset_x + x, xfc->offset_y + y, w, h);
XRenderFreePicture(xfc->display, primaryPicture);
XRenderFreePicture(xfc->display, windowPicture);
}
#endif
XCopyArea(xfc->display, xfc->primary, xfc->window->handle, xfc->gc, x, y, w, h,
- x, y);
+ x, y);
}
static BOOL xf_desktop_resize(rdpContext* context)
XFreePixmap(xfc->display, xfc->primary);
if (!(xfc->primary = XCreatePixmap(
- xfc->display, xfc->drawable,
- settings->DesktopWidth,
- settings->DesktopHeight, xfc->depth)))
+ xfc->display, xfc->drawable,
+ settings->DesktopWidth,
+ settings->DesktopHeight, xfc->depth)))
return FALSE;
if (same)
if (!xfc->fullscreen)
{
xf_ResizeDesktopWindow(xfc, xfc->window, settings->DesktopWidth,
- settings->DesktopHeight);
+ settings->DesktopHeight);
}
else
{
XSetFillStyle(xfc->display, xfc->gc, FillSolid);
XSetForeground(xfc->display, xfc->gc, 0);
XFillRectangle(xfc->display, xfc->drawable, xfc->gc, 0, 0, xfc->window->width,
- xfc->window->height);
+ xfc->window->height);
}
return TRUE;
xf_lock_x11(xfc, FALSE);
XPutImage(xfc->display, xfc->primary, xfc->gc, xfc->image,
- x, y, x, y, w, h);
+ x, y, x, y, w, h);
xf_draw_screen(xfc, x, y, w, h);
xf_unlock_x11(xfc, FALSE);
}
w = cinvalid[i].w;
h = cinvalid[i].h;
XPutImage(xfc->display, xfc->primary, xfc->gc,
- xfc->image, x, y, x, y, w, h);
+ xfc->image, x, y, x, y, w, h);
xf_draw_screen(xfc, x, y, w, h);
}
}
if (!(xfc->image = XCreateImage(xfc->display, xfc->visual, xfc->depth, ZPixmap,
- 0,
- (char*) gdi->primary_buffer, gdi->width, gdi->height, xfc->scanline_pad, 0)))
+ 0,
+ (char*) gdi->primary_buffer, gdi->width, gdi->height, xfc->scanline_pad, 0)))
{
goto out;
}
else if (settings->ServerPort == 3389)
{
windowTitle = malloc(1 + sizeof("FreeRDP: ") + strlen(
- settings->ServerHostname));
+ settings->ServerHostname));
sprintf(windowTitle, "FreeRDP: %s", settings->ServerHostname);
}
else
{
windowTitle = malloc(1 + sizeof("FreeRDP: ") + strlen(settings->ServerHostname)
- + sizeof(":00000"));
+ + sizeof(":00000"));
sprintf(windowTitle, "FreeRDP: %s:%i", settings->ServerHostname,
- settings->ServerPort);
+ settings->ServerPort);
}
#ifdef WITH_XRENDER
if (!xfc->primary)
xfc->primary = XCreatePixmap(xfc->display, xfc->drawable,
- settings->DesktopWidth,
- settings->DesktopHeight, xfc->depth);
+ settings->DesktopWidth,
+ settings->DesktopHeight, xfc->depth);
xfc->drawing = xfc->primary;
if (!xfc->gc_mono)
xfc->gc_mono = XCreateGC(xfc->display, xfc->bitmap_mono, GCGraphicsExposures,
- &gcv);
+ &gcv);
XSetFunction(xfc->display, xfc->gc, GXcopy);
XSetFillStyle(xfc->display, xfc->gc, FillSolid);
XSetForeground(xfc->display, xfc->gc, BlackPixelOfScreen(xfc->screen));
XFillRectangle(xfc->display, xfc->primary, xfc->gc, 0, 0,
- settings->DesktopWidth,
- settings->DesktopHeight);
+ settings->DesktopWidth,
+ settings->DesktopHeight);
XFlush(xfc->display);
if (!xfc->image)
{
rdpGdi* gdi = xfc->context.gdi;
xfc->image = XCreateImage(xfc->display, xfc->visual,
- xfc->depth,
- ZPixmap, 0, (char*) gdi->primary_buffer,
- settings->DesktopWidth, settings->DesktopHeight,
- xfc->scanline_pad, 0);
+ xfc->depth,
+ ZPixmap, 0, (char*) gdi->primary_buffer,
+ settings->DesktopWidth, settings->DesktopHeight,
+ xfc->scanline_pad, 0);
}
return TRUE;
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_encomsp_participant_created(EncomspClientContext* context,
- ENCOMSP_PARTICIPANT_CREATED_PDU* participantCreated)
+ ENCOMSP_PARTICIPANT_CREATED_PDU* participantCreated)
{
return CHANNEL_RC_OK;
}
tpl.screen = xfc->screen_number;
if (XGetWindowAttributes(xfc->display, RootWindowOfScreen(xfc->screen),
- &window_attributes) == 0)
+ &window_attributes) == 0)
{
WLog_ERR(TAG, "XGetWindowAttributes failed");
return FALSE;
}
vis = XGetVisualInfo(xfc->display, VisualClassMask | VisualScreenMask,
- &tpl, &vi_count);
+ &tpl, &vi_count);
if (!vis)
{
/* calculate color shifts required for rdp order color conversion */
xf_calculate_color_shifts(vi->red_mask, &xfc->red_shift_r, &xfc->red_shift_l);
xf_calculate_color_shifts(vi->green_mask, &xfc->green_shift_r,
- &xfc->green_shift_l);
+ &xfc->green_shift_l);
xf_calculate_color_shifts(vi->blue_mask, &xfc->blue_shift_r,
- &xfc->blue_shift_l);
+ &xfc->blue_shift_l);
}
XFree(vis);
}
static BOOL xf_play_sound(rdpContext* context,
- const PLAY_SOUND_UPDATE* play_sound)
+ const PLAY_SOUND_UPDATE* play_sound)
{
xfContext* xfc = (xfContext*) context;
XkbBell(xfc->display, None, 100, 0);
if (XkbLibraryVersion(&xkb_major, &xkb_minor)
&& XkbQueryExtension(context->display, &xkb_opcode, &xkb_event,
- &xkb_error, &xkb_major, &xkb_minor))
+ &xkb_error, &xkb_major, &xkb_minor))
{
context->xkbAvailable = TRUE;
}
int xrender_error_base;
if (XRenderQueryExtension(context->display, &xrender_event_base,
- &xrender_error_base))
+ &xrender_error_base))
{
context->xrenderAvailable = TRUE;
}
else
{
WLog_ERR(TAG, "Mouse physical button %d is mapped to logical button %d",
- physical, logical);
+ physical, logical);
}
}
}
settings->OrderSupport[NEG_ELLIPSE_SC_INDEX] = FALSE;
settings->OrderSupport[NEG_ELLIPSE_CB_INDEX] = FALSE;
PubSub_SubscribeChannelConnected(instance->context->pubSub,
- (pChannelConnectedEventHandler) xf_OnChannelConnectedEventHandler);
+ (pChannelConnectedEventHandler) xf_OnChannelConnectedEventHandler);
PubSub_SubscribeChannelDisconnected(instance->context->pubSub,
- (pChannelDisconnectedEventHandler) xf_OnChannelDisconnectedEventHandler);
+ (pChannelDisconnectedEventHandler) xf_OnChannelDisconnectedEventHandler);
if (!freerdp_client_load_addins(channels, instance->settings))
return FALSE;
{
DWORD status;
DWORD nCount;
- HANDLE events[2];
+ HANDLE events[3];
XEvent xevent;
wMessage msg;
wMessageQueue* queue;
nCount = 0;
events[nCount++] = MessageQueue_Event(queue);
events[nCount++] = xfc->x11event;
+ events[nCount++] = instance->context->abortEvent;
while (1)
{
if (!process_status)
break;
}
+
+ if (WaitForSingleObject(events[2], 0) == WAIT_OBJECT_0)
+ {
+ break;
+ }
}
MessageQueue_PostQuit(queue, 0);
if (freerdp_reconnect(instance))
{
- xfc->disconnect = FALSE;
+ freerdp_abort_connect(instance);
return TRUE;
}
if (!settings->AsyncInput)
{
inputEvent = xfc->x11event;
+ handles[0] = inputEvent;
}
else
{
- if (!(inputEvent = freerdp_get_message_queue_event_handle(instance,
- FREERDP_INPUT_MESSAGE_QUEUE)))
- {
- WLog_ERR(TAG, "async input: failed to get input event handle");
- exit_code = XF_EXIT_UNKNOWN;
- goto disconnect;
- }
-
if (!(inputThread = CreateThread(NULL, 0,
- (LPTHREAD_START_ROUTINE) xf_input_thread, instance, 0, NULL)))
+ (LPTHREAD_START_ROUTINE) xf_input_thread, instance, 0, NULL)))
{
WLog_ERR(TAG, "async input: failed to create input thread");
exit_code = XF_EXIT_UNKNOWN;
}
}
- while (!xfc->disconnect && !freerdp_shall_disconnect(instance))
+ while (!freerdp_shall_disconnect(instance))
{
/*
* win8 and server 2k12 seem to have some timing issue/race condition
xf_keyboard_focus_in(xfc);
}
- nCount = 0;
- handles[nCount++] = inputEvent;
+ nCount = (settings->AsyncInput) ? 0 : 1;
if (!settings->AsyncTransport)
{
break;
}
}
- else
- {
- if (WaitForSingleObject(inputEvent, 0) == WAIT_OBJECT_0)
- {
- if (!freerdp_message_queue_process_pending_messages(instance,
- FREERDP_INPUT_MESSAGE_QUEUE))
- {
- WLog_INFO(TAG, "User Disconnect");
- xfc->disconnect = TRUE;
- break;
- }
- }
- }
}
if (settings->AsyncInput)
{
- wMessageQueue* inputQueue = freerdp_get_message_queue(instance,
- FREERDP_INPUT_MESSAGE_QUEUE);
-
- if (MessageQueue_PostQuit(inputQueue, 0))
- WaitForSingleObject(inputThread, INFINITE);
-
+ WaitForSingleObject(inputThread, INFINITE);
CloseHandle(inputThread);
}
DWORD xf_exit_code_from_disconnect_reason(DWORD reason)
{
if (reason == 0 || (reason >= XF_EXIT_PARSE_ARGUMENTS
- && reason <= XF_EXIT_AUTH_FAILURE))
+ && reason <= XF_EXIT_AUTH_FAILURE))
return reason;
/* License error set */
else if (reason >= 0x100 && reason <= 0x10A)
static void xf_TerminateEventHandler(rdpContext* context, TerminateEventArgs* e)
{
- wMessageQueue* queue;
- xfContext* xfc = (xfContext*) context;
-
- if (context->settings->AsyncInput)
- {
- queue = freerdp_get_message_queue(context->instance,
- FREERDP_INPUT_MESSAGE_QUEUE);
-
- if (queue)
- MessageQueue_PostQuit(queue, 0);
- }
- else
- {
- xfc->disconnect = TRUE;
- }
+ freerdp_abort_connect(context->instance);
}
#ifdef WITH_XRENDER
static void xf_ZoomingChangeEventHandler(rdpContext* context,
- ZoomingChangeEventArgs* e)
+ ZoomingChangeEventArgs* e)
{
xfContext* xfc = (xfContext*) context;
rdpSettings* settings = context->settings;
}
static void xf_PanningChangeEventHandler(rdpContext* context,
- PanningChangeEventArgs* e)
+ PanningChangeEventArgs* e)
{
xfContext* xfc = (xfContext*) context;
rdpSettings* settings = context->settings;
if (!settings->ServerHostname)
{
WLog_ERR(TAG,
- "error: server hostname was not specified with /v:<server>[:port]");
+ "error: server hostname was not specified with /v:<server>[:port]");
return -1;
}
- xfc->disconnect = FALSE;
-
if (!(xfc->thread = CreateThread(NULL, 0,
- (LPTHREAD_START_ROUTINE) xf_client_thread,
- context->instance, 0, NULL)))
+ (LPTHREAD_START_ROUTINE) xf_client_thread,
+ context->instance, 0, NULL)))
{
WLog_ERR(TAG, "failed to create client thread");
return -1;
{
xfContext* xfc = (xfContext*) context;
- if (context->settings->AsyncInput)
- {
- wMessageQueue* queue;
- queue = freerdp_get_message_queue(context->instance,
- FREERDP_INPUT_MESSAGE_QUEUE);
-
- if (queue)
- MessageQueue_PostQuit(queue, 0);
- }
- else
- {
- xfc->disconnect = TRUE;
- }
+ freerdp_abort_connect(context->instance);
if (xfc->thread)
{
instance->LogonErrorInfo = xf_logon_error_info;
settings = instance->settings;
PubSub_SubscribeTerminate(context->pubSub,
- (pTerminateEventHandler) xf_TerminateEventHandler);
+ (pTerminateEventHandler) xf_TerminateEventHandler);
#ifdef WITH_XRENDER
PubSub_SubscribeZoomingChange(context->pubSub,
- (pZoomingChangeEventHandler) xf_ZoomingChangeEventHandler);
+ (pZoomingChangeEventHandler) xf_ZoomingChangeEventHandler);
PubSub_SubscribePanningChange(context->pubSub,
- (pPanningChangeEventHandler) xf_PanningChangeEventHandler);
+ (pPanningChangeEventHandler) xf_PanningChangeEventHandler);
#endif
xfc->UseXThreads = TRUE;
//xfc->debug = TRUE;
{
WLog_ERR(TAG, "failed to open display: %s", XDisplayName(NULL));
WLog_ERR(TAG,
- "Please check that the $DISPLAY environment variable is properly set.");
+ "Please check that the $DISPLAY environment variable is properly set.");
goto fail_open_display;
}
xfc->_NET_WM_ICON = XInternAtom(xfc->display, "_NET_WM_ICON", False);
xfc->_MOTIF_WM_HINTS = XInternAtom(xfc->display, "_MOTIF_WM_HINTS", False);
xfc->_NET_CURRENT_DESKTOP = XInternAtom(xfc->display, "_NET_CURRENT_DESKTOP",
- False);
+ False);
xfc->_NET_WORKAREA = XInternAtom(xfc->display, "_NET_WORKAREA", False);
xfc->_NET_WM_STATE = XInternAtom(xfc->display, "_NET_WM_STATE", False);
xfc->_NET_WM_STATE_FULLSCREEN = XInternAtom(xfc->display,
- "_NET_WM_STATE_FULLSCREEN", False);
+ "_NET_WM_STATE_FULLSCREEN", False);
xfc->_NET_WM_STATE_MAXIMIZED_HORZ = XInternAtom(xfc->display,
- "_NET_WM_STATE_MAXIMIZED_HORZ", False);
+ "_NET_WM_STATE_MAXIMIZED_HORZ", False);
xfc->_NET_WM_STATE_MAXIMIZED_VERT = XInternAtom(xfc->display,
- "_NET_WM_STATE_MAXIMIZED_VERT", False);
+ "_NET_WM_STATE_MAXIMIZED_VERT", False);
xfc->_NET_WM_FULLSCREEN_MONITORS = XInternAtom(xfc->display,
- "_NET_WM_FULLSCREEN_MONITORS", False);
+ "_NET_WM_FULLSCREEN_MONITORS", False);
xfc->_NET_WM_NAME = XInternAtom(xfc->display, "_NET_WM_NAME", False);
xfc->_NET_WM_PID = XInternAtom(xfc->display, "_NET_WM_PID", False);
xfc->_NET_WM_WINDOW_TYPE = XInternAtom(xfc->display, "_NET_WM_WINDOW_TYPE",
- False);
+ False);
xfc->_NET_WM_WINDOW_TYPE_NORMAL = XInternAtom(xfc->display,
- "_NET_WM_WINDOW_TYPE_NORMAL", False);
+ "_NET_WM_WINDOW_TYPE_NORMAL", False);
xfc->_NET_WM_WINDOW_TYPE_DIALOG = XInternAtom(xfc->display,
- "_NET_WM_WINDOW_TYPE_DIALOG", False);
+ "_NET_WM_WINDOW_TYPE_DIALOG", False);
xfc->_NET_WM_WINDOW_TYPE_POPUP = XInternAtom(xfc->display,
- "_NET_WM_WINDOW_TYPE_POPUP", False);
+ "_NET_WM_WINDOW_TYPE_POPUP", False);
xfc->_NET_WM_WINDOW_TYPE_UTILITY = XInternAtom(xfc->display,
- "_NET_WM_WINDOW_TYPE_UTILITY", False);
+ "_NET_WM_WINDOW_TYPE_UTILITY", False);
xfc->_NET_WM_WINDOW_TYPE_DROPDOWN_MENU = XInternAtom(xfc->display,
- "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU", False);
+ "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU", False);
xfc->_NET_WM_STATE_SKIP_TASKBAR = XInternAtom(xfc->display,
- "_NET_WM_STATE_SKIP_TASKBAR", False);
+ "_NET_WM_STATE_SKIP_TASKBAR", False);
xfc->_NET_WM_STATE_SKIP_PAGER = XInternAtom(xfc->display,
- "_NET_WM_STATE_SKIP_PAGER", False);
+ "_NET_WM_STATE_SKIP_PAGER", False);
xfc->_NET_WM_MOVERESIZE = XInternAtom(xfc->display, "_NET_WM_MOVERESIZE",
- False);
+ False);
xfc->_NET_MOVERESIZE_WINDOW = XInternAtom(xfc->display,
- "_NET_MOVERESIZE_WINDOW", False);
+ "_NET_MOVERESIZE_WINDOW", False);
xfc->UTF8_STRING = XInternAtom(xfc->display, "UTF8_STRING", FALSE);
xfc->WM_PROTOCOLS = XInternAtom(xfc->display, "WM_PROTOCOLS", False);
xfc->WM_DELETE_WINDOW = XInternAtom(xfc->display, "WM_DELETE_WINDOW", False);
xfc->invert = (ImageByteOrder(xfc->display) == MSBFirst) ? FALSE : TRUE;
xfc->complex_regions = TRUE;
xfc->x11event = CreateFileDescriptorEvent(NULL, FALSE, FALSE, xfc->xfds,
- WINPR_FD_READ);
+ WINPR_FD_READ);
if (!xfc->x11event)
{
}
void xf_rail_send_client_system_command(xfContext* xfc, UINT32 windowId,
- UINT16 command)
+ UINT16 command)
{
RAIL_SYSCOMMAND_ORDER syscommand;
syscommand.windowId = windowId;
windowMove.left = appWindow->x;
windowMove.top = appWindow->y;
windowMove.right = windowMove.left +
- appWindow->width; /* In the update to RDP the position is one past the window */
+ appWindow->width; /* In the update to RDP the position is one past the window */
windowMove.bottom = windowMove.top + appWindow->height;
xfc->rail->ClientWindowMove(xfc->rail, &windowMove);
/*
* Simulate button up at new position to end the local move (per RDP spec)
*/
XQueryPointer(xfc->display, appWindow->handle,
- &root_window, &child_window, &x, &y, &child_x, &child_y, &mask);
+ &root_window, &child_window, &x, &y, &child_x, &child_y, &mask);
/* only send the mouse coordinates if not a keyboard move or size */
if ((appWindow->local_move.direction != _NET_WM_MOVERESIZE_MOVE_KEYBOARD) &&
for (index = 0; index < count; index++)
{
appWindow = (xfAppWindow*) HashTable_GetItemValue(xfc->railWindows,
- (void*) pKeys[index]);
+ (void*) pKeys[index]);
if (appWindow)
{
if (appWindow)
{
xf_UpdateWindowArea(xfc, appWindow, updateRect.left, updateRect.top,
- updateRect.right - updateRect.left,
- updateRect.bottom - updateRect.top);
+ updateRect.right - updateRect.left,
+ updateRect.bottom - updateRect.top);
}
}
}
}
void xf_rail_paint(xfContext* xfc, INT32 uleft, INT32 utop, UINT32 uright,
- UINT32 ubottom)
+ UINT32 ubottom)
{
REGION16 invalidRegion;
RECTANGLE_16 invalidRect;
/* RemoteApp Core Protocol Extension */
static BOOL xf_rail_window_common(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* windowState)
+ WINDOW_ORDER_INFO* orderInfo, WINDOW_STATE_ORDER* windowState)
{
xfAppWindow* appWindow = NULL;
xfContext* xfc = (xfContext*) context;
}
}
else if (ConvertFromUnicode(CP_UTF8, 0, (WCHAR*) windowState->titleInfo.string,
- windowState->titleInfo.length / 2, &title, 0, NULL, NULL) < 1)
+ windowState->titleInfo.length / 2, &title, 0, NULL, NULL) < 1)
{
WLog_ERR(TAG, "failed to convert window title");
/* error handled below */
}
HashTable_Add(xfc->railWindows, (void*)(UINT_PTR) orderInfo->windowId,
- (void*) appWindow);
+ (void*) appWindow);
xf_AppWindowInit(xfc, appWindow);
}
else
{
appWindow = (xfAppWindow*) HashTable_GetItemValue(xfc->railWindows,
- (void*)(UINT_PTR) orderInfo->windowId);
+ (void*)(UINT_PTR) orderInfo->windowId);
}
if (!appWindow)
}
}
else if (ConvertFromUnicode(CP_UTF8, 0, (WCHAR*) windowState->titleInfo.string,
- windowState->titleInfo.length / 2, &title, 0, NULL, NULL) < 1)
+ windowState->titleInfo.length / 2, &title, 0, NULL, NULL) < 1)
{
WLog_ERR(TAG, "failed to convert window title");
return FALSE;
if (appWindow->numWindowRects)
{
appWindow->windowRects = (RECTANGLE_16*) calloc(appWindow->numWindowRects,
- sizeof(RECTANGLE_16));
+ sizeof(RECTANGLE_16));
if (!appWindow->windowRects)
return FALSE;
CopyMemory(appWindow->windowRects, windowState->windowRects,
- appWindow->numWindowRects * sizeof(RECTANGLE_16));
+ appWindow->numWindowRects * sizeof(RECTANGLE_16));
}
}
if (appWindow->numVisibilityRects)
{
appWindow->visibilityRects = (RECTANGLE_16*) calloc(
- appWindow->numVisibilityRects, sizeof(RECTANGLE_16));
+ appWindow->numVisibilityRects, sizeof(RECTANGLE_16));
if (!appWindow->visibilityRects)
return FALSE;
CopyMemory(appWindow->visibilityRects, windowState->visibilityRects,
- appWindow->numVisibilityRects * sizeof(RECTANGLE_16));
+ appWindow->numVisibilityRects * sizeof(RECTANGLE_16));
}
}
if (position_or_size_updated)
{
UINT32 visibilityRectsOffsetX = (appWindow->visibleOffsetX -
- (appWindow->clientOffsetX - appWindow->windowClientDeltaX));
+ (appWindow->clientOffsetX - appWindow->windowClientDeltaX));
UINT32 visibilityRectsOffsetY = (appWindow->visibleOffsetY -
- (appWindow->clientOffsetY - appWindow->windowClientDeltaY));
+ (appWindow->clientOffsetY - appWindow->windowClientDeltaY));
/*
* The rail server like to set the window to a small size when it is minimized even though it is hidden
appWindow->height == appWindow->windowHeight)
{
xf_UpdateWindowArea(xfc, appWindow, 0, 0, appWindow->windowWidth,
- appWindow->windowHeight);
+ appWindow->windowHeight);
}
else
{
xf_MoveWindow(xfc, appWindow, appWindow->windowOffsetX,
- appWindow->windowOffsetY,
- appWindow->windowWidth, appWindow->windowHeight);
+ appWindow->windowOffsetY,
+ appWindow->windowWidth, appWindow->windowHeight);
}
xf_SetWindowVisibilityRects(xfc, appWindow, visibilityRectsOffsetX,
- visibilityRectsOffsetY, appWindow->visibilityRects,
- appWindow->numVisibilityRects);
+ visibilityRectsOffsetY, appWindow->visibilityRects,
+ appWindow->numVisibilityRects);
}
}
}
static BOOL xf_rail_window_delete(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo)
+ WINDOW_ORDER_INFO* orderInfo)
{
xfAppWindow* appWindow = NULL;
xfContext* xfc = (xfContext*) context;
appWindow = (xfAppWindow*) HashTable_GetItemValue(xfc->railWindows,
- (void*)(UINT_PTR) orderInfo->windowId);
+ (void*)(UINT_PTR) orderInfo->windowId);
if (!appWindow)
return TRUE;
}
static BOOL xf_rail_window_icon(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo, WINDOW_ICON_ORDER* windowIcon)
+ WINDOW_ORDER_INFO* orderInfo, WINDOW_ICON_ORDER* windowIcon)
{
BOOL bigIcon;
xfAppWindow* railWindow;
xfContext* xfc = (xfContext*) context;
railWindow = (xfAppWindow*) HashTable_GetItemValue(xfc->railWindows,
- (void*)(UINT_PTR) orderInfo->windowId);
+ (void*)(UINT_PTR) orderInfo->windowId);
if (!railWindow)
return FALSE;
}
static BOOL xf_rail_window_cached_icon(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo, WINDOW_CACHED_ICON_ORDER* windowCachedIcon)
+ WINDOW_ORDER_INFO* orderInfo, WINDOW_CACHED_ICON_ORDER* windowCachedIcon)
{
return TRUE;
}
static BOOL xf_rail_notify_icon_common(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo, NOTIFY_ICON_STATE_ORDER* notifyIconState)
+ WINDOW_ORDER_INFO* orderInfo, NOTIFY_ICON_STATE_ORDER* notifyIconState)
{
if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_NOTIFY_VERSION)
{
}
static BOOL xf_rail_notify_icon_create(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo, NOTIFY_ICON_STATE_ORDER* notifyIconState)
+ WINDOW_ORDER_INFO* orderInfo, NOTIFY_ICON_STATE_ORDER* notifyIconState)
{
return xf_rail_notify_icon_common(context, orderInfo, notifyIconState);
}
static BOOL xf_rail_notify_icon_update(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo, NOTIFY_ICON_STATE_ORDER* notifyIconState)
+ WINDOW_ORDER_INFO* orderInfo, NOTIFY_ICON_STATE_ORDER* notifyIconState)
{
return xf_rail_notify_icon_common(context, orderInfo, notifyIconState);
}
static BOOL xf_rail_notify_icon_delete(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo)
+ WINDOW_ORDER_INFO* orderInfo)
{
return TRUE;
}
static BOOL xf_rail_monitored_desktop(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo, MONITORED_DESKTOP_ORDER* monitoredDesktop)
+ WINDOW_ORDER_INFO* orderInfo, MONITORED_DESKTOP_ORDER* monitoredDesktop)
{
return TRUE;
}
static BOOL xf_rail_non_monitored_desktop(rdpContext* context,
- WINDOW_ORDER_INFO* orderInfo)
+ WINDOW_ORDER_INFO* orderInfo)
{
xfContext* xfc = (xfContext*) context;
xf_rail_disable_remoteapp_mode(xfc);
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_rail_server_execute_result(RailClientContext* context,
- RAIL_EXEC_RESULT_ORDER* execResult)
+ RAIL_EXEC_RESULT_ORDER* execResult)
{
xfContext* xfc = (xfContext*) context->custom;
if (execResult->execResult != RAIL_EXEC_S_OK)
{
WLog_ERR(TAG, "RAIL exec error: execResult=%s NtError=0x%X\n",
- error_code_names[execResult->execResult], execResult->rawResult);
- xfc->disconnect = TRUE;
+ error_code_names[execResult->execResult], execResult->rawResult);
+ freerdp_abort_connect(xfc->context.instance);
}
else
{
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_rail_server_system_param(RailClientContext* context,
- RAIL_SYSPARAM_ORDER* sysparam)
+ RAIL_SYSPARAM_ORDER* sysparam)
{
return CHANNEL_RC_OK;
}
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_rail_server_handshake(RailClientContext* context,
- RAIL_HANDSHAKE_ORDER* handshake)
+ RAIL_HANDSHAKE_ORDER* handshake)
{
RAIL_EXEC_ORDER exec;
RAIL_SYSPARAM_ORDER sysparam;
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_rail_server_handshake_ex(RailClientContext* context,
- RAIL_HANDSHAKE_EX_ORDER* handshakeEx)
+ RAIL_HANDSHAKE_EX_ORDER* handshakeEx)
{
return CHANNEL_RC_OK;
}
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_rail_server_local_move_size(RailClientContext* context,
- RAIL_LOCALMOVESIZE_ORDER* localMoveSize)
+ RAIL_LOCALMOVESIZE_ORDER* localMoveSize)
{
int x = 0, y = 0;
int direction = 0;
xfAppWindow* appWindow = NULL;
xfContext* xfc = (xfContext*) context->custom;
appWindow = (xfAppWindow*) HashTable_GetItemValue(xfc->railWindows,
- (void*)(UINT_PTR) localMoveSize->windowId);
+ (void*)(UINT_PTR) localMoveSize->windowId);
if (!appWindow)
return ERROR_INTERNAL_ERROR;
case RAIL_WMSZ_MOVE:
direction = _NET_WM_MOVERESIZE_MOVE;
XTranslateCoordinates(xfc->display, appWindow->handle,
- RootWindowOfScreen(xfc->screen),
- localMoveSize->posX, localMoveSize->posY, &x, &y, &child_window);
+ RootWindowOfScreen(xfc->screen),
+ localMoveSize->posX, localMoveSize->posY, &x, &y, &child_window);
break;
case RAIL_WMSZ_KEYMOVE:
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_rail_server_min_max_info(RailClientContext* context,
- RAIL_MINMAXINFO_ORDER* minMaxInfo)
+ RAIL_MINMAXINFO_ORDER* minMaxInfo)
{
xfAppWindow* appWindow = NULL;
xfContext* xfc = (xfContext*) context->custom;
appWindow = (xfAppWindow*) HashTable_GetItemValue(xfc->railWindows,
- (void*)(UINT_PTR) minMaxInfo->windowId);
+ (void*)(UINT_PTR) minMaxInfo->windowId);
if (!appWindow)
return ERROR_INTERNAL_ERROR;
xf_SetWindowMinMaxInfo(xfc, appWindow,
- minMaxInfo->maxWidth, minMaxInfo->maxHeight,
- minMaxInfo->maxPosX, minMaxInfo->maxPosY,
- minMaxInfo->minTrackWidth, minMaxInfo->minTrackHeight,
- minMaxInfo->maxTrackWidth, minMaxInfo->maxTrackHeight);
+ minMaxInfo->maxWidth, minMaxInfo->maxHeight,
+ minMaxInfo->maxPosX, minMaxInfo->maxPosY,
+ minMaxInfo->minTrackWidth, minMaxInfo->minTrackHeight,
+ minMaxInfo->maxTrackWidth, minMaxInfo->maxTrackHeight);
return CHANNEL_RC_OK;
}
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_rail_server_language_bar_info(RailClientContext* context,
- RAIL_LANGBAR_INFO_ORDER* langBarInfo)
+ RAIL_LANGBAR_INFO_ORDER* langBarInfo)
{
return CHANNEL_RC_OK;
}
* @return 0 on success, otherwise a Win32 error code
*/
static UINT xf_rail_server_get_appid_response(RailClientContext* context,
- RAIL_GET_APPID_RESP_ORDER* getAppIdResp)
+ RAIL_GET_APPID_RESP_ORDER* getAppIdResp)
{
return CHANNEL_RC_OK;
}