After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 590404 - IBM Lotus Notes 8.5 FP1 fails to show native windows
IBM Lotus Notes 8.5 FP1 fails to show native windows
Status: RESOLVED NOTGNOME
Product: gtk+
Classification: Platform
Component: Widget: Other
2.17.x
Other All
: Normal major
: ---
Assigned To: gtk-bugs
gtk-bugs
csw
: 595025 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-07-31 19:21 UTC by DSHR
Modified: 2009-09-30 10:31 UTC
See Also:
GNOME target: ---
GNOME version: 2.27/2.28


Attachments
Hack that works around lotus notes being broken (3.08 KB, patch)
2009-08-31 13:50 UTC, Alexander Larsson
none Details | Review

Description DSHR 2009-07-31 19:21:23 UTC
Please describe the problem:
Starting with gtk/gdb lib version 2.17.2 IBM Lotus Notes does not work anymore. All native windows seem to be rendered black.

Steps to reproduce:
1. Start Lotus Notes 8.5 FP1
2. Select standard startpage
3. 

Actual results:
Follow Up Window is completely black - application is unusable.
Even the standard startpage is black.


Expected results:
Startpage shows buttons for mail etc.

Does this happen every time?
Yes

Other information:
Downgrading the libs to 2.17.1 solves the problem.
Comment 1 Alexander Larsson 2009-08-10 12:43:41 UTC
Hmmm, can I download lotus notes anywhere to test?
Comment 2 Sebastien Bacher 2009-08-10 12:52:39 UTC
There is a similar bug on https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/398250
Comment 3 Alexander Larsson 2009-08-10 13:00:55 UTC
Trial download at:
http://www.ibm.com/developerworks/downloads/ls/lsndad/?S_TACT=105AGX28S_CMP=TRIALS
Comment 4 Alexander Larsson 2009-08-28 18:36:03 UTC
Man, this code is doing some weird stuff. I've got some generic fixes for GDK_NATIVE_WINDOW mode queued that makes this a little bit better. However, there are a few things i can only solve by adding notes-specific hacks that are not particularily maintainable.

One of the main issues is that notes seem to use a GtkSocket and then have their own implementation of the plug side of xembedd. One problematic thing that happens in my testing is when the GtkSocket code reparents the plug window into the socket window. When this happens on the plug side we get a ReparentNotify which is caught by a window specific event filter in lotus notes (plugwindow_x_filter in libemulation.so) which seems to do some weird stuff, including changing the GdkWindow->window_type from CHILD to TOPLEVEL (directly, without telling gdk of this change in any way, and without changing the parent, thus even breaking internal invariants that TOPLEVELs are children of a root window) and also changes the raw X event mask so that future ConfigureEvent events are not delivered. 

The end result of this is that gdk never updates its internally stored size for this window, which causes the new clipping code in csw to clip all drawing to whatever the initial size of the plug window happened to be.
Comment 5 Alexander Larsson 2009-08-31 13:50:47 UTC
Created attachment 142124 [details] [review]
Hack that works around lotus notes being broken

With this patch lotus notes drawing works, but its really not something we will merge. Notes need to be fixed.
Comment 6 Ben 2009-09-14 22:34:48 UTC
I am experiencing the issue also.. on gtk 2.17.9 

I've added the gtk 2.17.2 libs to /opt/ibm/lotus/notes (default installation location) and all worked just fine.. 

Problem starts with 2.17.3
Comment 7 Alexander Larsson 2009-09-20 11:19:08 UTC
*** Bug 595025 has been marked as a duplicate of this bug. ***
Comment 8 DSHR 2009-09-21 20:12:42 UTC
Patching 2.17.11 with the workaround solves the problem on karmic.
Comment 9 Alexander Larsson 2009-09-30 10:31:23 UTC
I've talked to the notes people about this and they know about it and are working on solving it. I'm closing this from the gtk side now.