Skip to content

Commit

Permalink
Refactoring resizing into state machine.
Browse files Browse the repository at this point in the history
- Fixes MSTSC resizing (with RFX as well).
- Queue system so that resizes are processed when XRDP and the X server
are ready, not immediately.
- Deletes and recreates the encoder (RFX fix)
- Introduces a dynamic_monitor_description struct that is used for the
queue system.
- Fix some lines previously introduced by the original resizing code to
be 80 chars long, as is the standard for XRDP.
  • Loading branch information
Nexarian committed Jul 11, 2022
1 parent 7711978 commit 2f9cd39
Show file tree
Hide file tree
Showing 5 changed files with 452 additions and 195 deletions.
20 changes: 9 additions & 11 deletions xrdp/xrdp.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,12 @@ xrdp_wm_get_wait_objs(struct xrdp_wm *self, tbus *robjs, int *rc,
tbus *wobjs, int *wc, int *timeout);
int
xrdp_wm_check_wait_objs(struct xrdp_wm *self);
const char *
xrdp_wm_login_state_to_str(enum wm_login_state login_state);
int
xrdp_wm_set_login_state(struct xrdp_wm *self, enum wm_login_state login_state);
int
xrdp_wm_can_resize(struct xrdp_wm *self);
void
xrdp_wm_mod_connect_done(struct xrdp_wm *self, int status);

Expand Down Expand Up @@ -397,18 +401,12 @@ xrdp_bitmap_compress(char *in_data, int width, int height,

/* xrdp_mm.c */

struct dynamic_monitor_layout
struct display_control_monitor_layout_data
{
int flags;
int left;
int top;
int width;
int height;
int physical_width;
int physical_height;
int orientation;
int desktop_scale_factor;
int device_scale_factor;
struct display_size_description description;
enum display_resize_state state;
int last_state_update_timestamp;
int start_time;
};

int
Expand Down
Loading

0 comments on commit 2f9cd39

Please sign in to comment.