#366 closed bug (fixed)

tabbed windows doesn't have tabs

Reported by: Frank Busse Owned by: Thore Böckelmann
Priority: normal Milestone: 5.0-2017R4
Component: muimaster.library Version: 5.0-nightly build
Severity: minor Keywords:
Cc: OS Platform: AmigaOS3
Blocked By: Blocking:
Release Notes:

Description

Summary

Steps to reproduce

  1. Open a tabbed window like new mail in YAM or the download window in iBrowse.

Expected results

Tabbed window.

Actual results

Instead of a tab line on the top to switch between the tabs, all tabs are shown one below the other at the same time.

Regression

MUI-5.0-2017R3-os3.lha works ok.
I updated over this version the file MUI-5.0-20171121r6127-os3.lha. The bug appears. In the current nightly build this bug still exists.

Notes

Attachments (2)

YAM neue Mail.jpg (295.8 KB) - added by Frank Busse 17 months ago.
iBrowse Download-Fenster.jpg (180.8 KB) - added by Frank Busse 17 months ago.

Download all attachments as: .zip

Change History (6)

Changed 17 months ago by Frank Busse

Attachment: YAM neue Mail.jpg added

Changed 17 months ago by Frank Busse

comment:1 Changed 17 months ago by Thore Böckelmann

First of all, that nightly build is quite old already, almost 4 weeks. If you report bugs like this, it would be nice if you could try to reproduce the issue with the most recent builds.

Second, I am not able to reproduce this issue at all with the current nightly build. Both YAM and IBrowse (and all other applications using either Register or Title class) behave correctly and don't mess up the group's page mode.

So please try again with the current nightly build.

comment:2 Changed 17 months ago by Frank Busse

As I already wrote in the current nightly build this bug still exists. For comparison, the latest nightly build on the server was yesterday evening and still today MUI-5.0-20171214r6153-os3.lha.
I only mentioned the old version MUI-5.0-20171121r6127-os3.lha, because this was the first nightly build, that I installed over MUI-5.0-2017R3-os3.lha. I installed a nightly build, because I had hang-ups with NetInfo-II with MUI-5.0-2017R3-os3.lha. These hang-ups are gone with the nightly build. But the bug with the tabbed windows appears.

comment:3 Changed 17 months ago by Thore Böckelmann

Component: undefinedmuimaster.library
Milestone: future release5.0-2017R4
Owner: set to Thore Böckelmann
Priority: undecidednormal
Status: newassigned

Ok. After some updating MUI forward and backward I finally was able to reproduce this issue. The point is that I always copy over all libraries and classes after a modification rather than updating the modified classes using the Installer script.

This is the real culprit, done on October 10th:

* Area.c, Window.c, mastermisc.c: rewrote the deprecated functions
    MUI_RequestIDCMP() and MUI_RejectIDCMP() to use a private
    MUI_EventHandlerNode internally. This makes it possible to get rid of the
    inefficient way to call the MUIM_HandleInput method. However, that method
    will still be invoked for compatibility reasons, but without the overhead of
    being passed through the window's complete object tree for each and every
    IDCMP message.

This modification introduced a new element in the middle of the instance data of Area class. Although the revision of muimaster.library was bumped to ensure that libraries is considered as "to be updated" by the Installer script certain other classes were not touched, because they were not modified directly. But in fact they were affected, but only from an OOP point of view, because their parent class (or better its instance data) was modified. And these classes do some direct access to the instance data of Area class for speed reasons instead of going the slow BOOPSI way to obtain certain information. Due the the changed layout of the instance data the untouched classes no longer found the correct information they need to access and hence failed in the way you experienced.

As a very quick solution you just need to copy ALL classes manually from the nightly build archive:

copy <whereever you extracted the nightly build archive>/Libs/mui/*.(mui|mcc|mcp) MUI:Libs/mui

Then everything should be fine again.

comment:4 Changed 17 months ago by Thore Böckelmann

Resolution: fixed
Status: assignedclosed

In 6155:

  • all: bumped the revision of all classes to ensure that all libraries and classes are copied by the Installer script. By this all classes which access internal and private instance data of their parent classes will again access the desired data at the correct location. This closes #366.
Note: See TracTickets for help on using tickets.