diff options
| author | Jan Djärv | 2013-08-24 10:43:36 +0200 |
|---|---|---|
| committer | Jan Djärv | 2013-08-24 10:43:36 +0200 |
| commit | 6e1b469ee2c44797e9f7922366d069e0f924cc63 (patch) | |
| tree | 53cefb1ef1d7033860cb9bee890b08c33ada9231 /src | |
| parent | 9c05bccfb9cd29ab66b5c46643467671315a0f29 (diff) | |
| download | emacs-6e1b469ee2c44797e9f7922366d069e0f924cc63.tar.gz emacs-6e1b469ee2c44797e9f7922366d069e0f924cc63.zip | |
* gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized
or fullscreen.
Fixes: debbugs:14627
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/gtkutil.c | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 3eccf6ff557..8e5eedd445c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-08-24 Jan Djärv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized | ||
| 4 | or fullscreen (Bug#14627). | ||
| 5 | |||
| 1 | 2013-08-24 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2013-08-24 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | System-dependent integer overflow fixes. | 8 | System-dependent integer overflow fixes. |
diff --git a/src/gtkutil.c b/src/gtkutil.c index 7e304d417d8..8e255ac4bfb 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -1341,6 +1341,7 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position) | |||
| 1341 | int base_width, base_height; | 1341 | int base_width, base_height; |
| 1342 | int min_rows = 0, min_cols = 0; | 1342 | int min_rows = 0, min_cols = 0; |
| 1343 | int win_gravity = f->win_gravity; | 1343 | int win_gravity = f->win_gravity; |
| 1344 | Lisp_Object fs_state, frame; | ||
| 1344 | 1345 | ||
| 1345 | /* Don't set size hints during initialization; that apparently leads | 1346 | /* Don't set size hints during initialization; that apparently leads |
| 1346 | to a race condition. See the thread at | 1347 | to a race condition. See the thread at |
| @@ -1348,6 +1349,16 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position) | |||
| 1348 | if (NILP (Vafter_init_time) || !FRAME_GTK_OUTER_WIDGET (f)) | 1349 | if (NILP (Vafter_init_time) || !FRAME_GTK_OUTER_WIDGET (f)) |
| 1349 | return; | 1350 | return; |
| 1350 | 1351 | ||
| 1352 | XSETFRAME (frame, f); | ||
| 1353 | fs_state = Fframe_parameter (frame, Qfullscreen); | ||
| 1354 | if (EQ (fs_state, Qmaximized) || EQ (fs_state, Qfullboth)) | ||
| 1355 | { | ||
| 1356 | /* Don't set hints when maximized or fullscreen. Apparently KWin and | ||
| 1357 | Gtk3 don't get along and the frame shrinks (!). | ||
| 1358 | */ | ||
| 1359 | return; | ||
| 1360 | } | ||
| 1361 | |||
| 1351 | if (flags) | 1362 | if (flags) |
| 1352 | { | 1363 | { |
| 1353 | memset (&size_hints, 0, sizeof (size_hints)); | 1364 | memset (&size_hints, 0, sizeof (size_hints)); |