diff options
-rw-r--r-- | generic/tkPlace.c | 6 | ||||
-rw-r--r-- | tests/unixEmbed.test | 15 | ||||
-rw-r--r-- | unix/tkUnixEmbed.c | 8 |
3 files changed, 19 insertions, 10 deletions
diff --git a/generic/tkPlace.c b/generic/tkPlace.c index 2c06977..8eee5a1 100644 --- a/generic/tkPlace.c +++ b/generic/tkPlace.c @@ -1185,6 +1185,12 @@ PlaceRequestProc( if ((slavePtr->flags & (CHILD_WIDTH|CHILD_REL_WIDTH)) && (slavePtr->flags & (CHILD_HEIGHT|CHILD_REL_HEIGHT))) { + /* + * Send a ConfigureNotify to indicate that the size change + * request was rejected. + */ + + TkDoConfigureNotify((TkWindow *)(slavePtr->tkwin)); return; } masterPtr = slavePtr->masterPtr; diff --git a/tests/unixEmbed.test b/tests/unixEmbed.test index 0abccc8..99f7265 100644 --- a/tests/unixEmbed.test +++ b/tests/unixEmbed.test @@ -323,11 +323,6 @@ test unixEmbed-2.3 {EmbeddedEventProc procedure} -constraints { destroy .f1 testembed } -result {} -if {[tk windowingsystem] eq "aqua"} { - set wrapperId {{}} -} else { - set wrapperId XXX -} test unixEmbed-2.4 {EmbeddedEventProc procedure} -constraints { unix testembed } -setup { @@ -342,7 +337,7 @@ test unixEmbed-2.4 {EmbeddedEventProc procedure} -constraints { list $x [winfo exists .t1] [winfo exists .f1] [testembed] } -cleanup { deleteWindows -} -result "{{XXX .f1 $wrapperId .t1}} 0 0 {}" +} -result "{{XXX .f1 {} .t1}} 0 0 {}" test unixEmbed-3.1 {ContainerEventProc procedure, detect creation} -constraints { @@ -899,7 +894,7 @@ test unixEmbed-6.1a {EmbedGeometryRequest procedure, window changes size} -const destroy [winfo child .] toplevel .t1 -use [w1] update - bind .t1 <Configure> {lappend x {configure .t1 %w %h}} + bind .t1 <Configure> {set x {configure .t1 %w %h}} set x {} .t1 configure -width 300 -height 120 update @@ -908,7 +903,7 @@ test unixEmbed-6.1a {EmbedGeometryRequest procedure, window changes size} -const } -cleanup { interp delete slave deleteWindows -} -result {{{configure .t1 300 120}} 300x120+0+0} +} -result {{configure .t1 300 120} 300x120+0+0} test unixEmbed-6.2 {EmbedGeometryRequest procedure, window changes size} -constraints { unix notAqua } -setup { @@ -946,7 +941,7 @@ test unixEmbed-6.2a {EmbedGeometryRequest procedure, window changes size} -const destroy [winfo child .] toplevel .t1 -use [w1] update - bind .t1 <Configure> {lappend x {configure .t1 %w %h}} + bind .t1 <Configure> {set x {configure .t1 %w %h}} set x {} .t1 configure -width 300 -height 120 update @@ -955,7 +950,7 @@ test unixEmbed-6.2a {EmbedGeometryRequest procedure, window changes size} -const } -cleanup { interp delete slave deleteWindows -} -result {{{configure .t1 200 200}} 200x200+0+0} +} -result {{configure .t1 200 200} 200x200+0+0} # Can't think up any tests for TkpGetOtherWindow procedure. diff --git a/unix/tkUnixEmbed.c b/unix/tkUnixEmbed.c index e1c4394..d9203ca 100644 --- a/unix/tkUnixEmbed.c +++ b/unix/tkUnixEmbed.c @@ -503,7 +503,15 @@ EmbedStructureProc( Tk_ErrorHandler errHandler; if (eventPtr->type == ConfigureNotify) { + /* + * Send a ConfigureNotify to the embedded application. + */ + + if (containerPtr->embeddedPtr != None) { + TkDoConfigureNotify(containerPtr->embeddedPtr); + } if (containerPtr->wrapper != None) { + /* * Ignore errors, since the embedded application could have * deleted its window. |