1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-05-28 15:24:49 -05:00

I give up. I can't work out what the purpose of the call to

gtk_container_dequeue_resize_handler in request_resize() was;
everything seems to work fine without it. So I'm removing the
nonportable GTK 2 instance of it, and if anything ever goes wrong as
a result then I'll at least find out what the problem was.

[originally from svn r7957]
This commit is contained in:
Simon Tatham 2008-03-29 20:02:12 +00:00
parent bef50d3fd2
commit 6ef1fa7b1f
2 changed files with 17 additions and 9 deletions

View File

@ -10,14 +10,6 @@ Things to do before deciding a merge is feasible:
selected by default. Then again, perhaps keeping fixed as the
default is more traditional. Hmm.
- The call to _gtk_container_dequeue_resize_handler wants
revisiting, and preferably removing in favour of a cleaner way to
do the job.
+ trouble with this is that I have no idea what it's actually
doing. Perhaps the thing to do is to debug through the GTK1
version and see when it gets called and what happens if I take
it out?
- gtkcols.c is currently a minimal-work GTK2 port of my original
GTK1 implementation. Someone should go through it and compare it
to a real GTK2 container class, to make sure there aren't any

View File

@ -1350,12 +1350,28 @@ void request_resize(void *frontend, int w, int h)
*/
#if GTK_CHECK_VERSION(2,0,0)
gtk_widget_set_size_request(inst->area, area_x, area_y);
_gtk_container_dequeue_resize_handler(GTK_CONTAINER(inst->window));
gtk_window_resize(GTK_WINDOW(inst->window),
area_x + offset_x, area_y + offset_y);
#else
gtk_widget_set_usize(inst->area, area_x, area_y);
gtk_drawing_area_size(GTK_DRAWING_AREA(inst->area), area_x, area_y);
/*
* I can no longer remember what this call to
* gtk_container_dequeue_resize_handler is for. It was
* introduced in r3092 with no comment, and the commit log
* message was uninformative. I'm _guessing_ its purpose is to
* prevent gratuitous resize processing on the window given
* that we're about to resize it anyway, but I have no idea
* why that's so incredibly vital.
*
* I've tried removing the call, and nothing seems to go
* wrong. I've backtracked to r3092 and tried removing the
* call there, and still nothing goes wrong. So I'm going to
* adopt the working hypothesis that it's superfluous; I won't
* actually remove it from the GTK 1.2 code, but I won't
* attempt to replicate its functionality in the GTK 2 code
* above.
*/
gtk_container_dequeue_resize_handler(GTK_CONTAINER(inst->window));
gdk_window_resize(inst->window->window,
area_x + offset_x, area_y + offset_y);