Here is what I've found out. When I comment out line 268(head): //if (e.stopPropagation) e.stopPropagation();
Now like you said, normally clicking on the mailcontframe would fire both the onclick event for the frame, and onclick event for the document. But this isn't happening. I put a javascript alert in the top of the the reset_click function (line 256, head). I only get the alert when I click on anything but the mailcontframe. I don't know why this is though.
However, commenting out the said line makes things work in safari. I can scroll up and down and select message and use the arrow keys, and it all seems to work fairly well. Commenting out the line didn't seem to cause any change in any of the other browsers I've tested.
Also as I mentioned in a previous email, I changed the "return false" to "return true" at the end of the keycode if/if-else/else (line 296, head) which allows the browser shortcut keys to work in safari.
The other think I've noticed is that the automatic scrolling of the mailcontframe doesn't work in safari, because of a bug in safari. Safari doesn't seem to calculate tablerow.offsetTop properly, and so the code that does the scrolling always scrolls to the top of the window. I've reported this bug in safari to my apple developer friends, so we will see what comes of it.
On Thursday 16 February 2006 07:48, Charles McNulty wrote:
Hi, I wrote the offending code, and I apologize for your troubles. I just didn't have a Mac to test on. I'll try to help debug it in anyway I can though.
Here's what's supposed to be happening with those three functions, reset_click, click_on_list, and use_arrow_keys. Surrounding the message list is a <div> named mailcontframe. It's this div tag that contains the scroll bar. What I sought to accomplish is to enable the arrow key functionality only when the last click was inside that div tag.
It does this by setting the in_message_list flag to true or false depending on whether the document was clicked or the mailcontframe was clicked. If the mailcontframe was clicked, it would normally fire both events because the mailcontframe is part of the document. Because of this, when the mailcontframeis clicked, it cancel all other pending events. This *might* be related to your problem.
Here are some tests for you to run to help me diagnose the problem.
- resize the browser window until you have a vertical browser scroll
bar. Click on anywhere other than the message list and then try to use your arrows to page through the window. The window should scroll.
- Do the same thing, but this time click on the message list and use
the arrow keys. The selected message should change and the window should *not* scroll.
Alternately, you could put some javascript alert() calls in those functions to make sure that they're firing when they should be. To sum up:
When you click on the scroll bar or on any message, click_on_list() should fire.
yes, this happened
When you click elsewhere, reset_click should fire.
yes, this happened
These are the first two things I need confirmed.
-Charles
Jacob Brunson wrote:
I recently found this problem with Safari (versions 1.3.2, but also with newer tiger versions). The problem is that clicking on the message list scroll bar to scroll up and down through the list doesn't work. The scroll bar doesn't go anywhere. However, if you press the ctrl key down while clicking on the scroll bar, it works fine.
There is a similar problem with the Apple key. After selecting anything on the message list, using the apple modifier key doesn't work. This is a problem because Apple-N opens new windows, Apple-W closes the current window.
Now macs only usually have one mouse button. Ctrl-click serves as a right click. However, I connected a two button mouse and right clicking on the scroll bar doesn't cause it to move, just a ctrl-click.
I've tracked the problem down to a particular change. It is in program/js/app.js between cvs revisions 1.28 and 1.29 (for that file). http://cvs.sourceforge.net/viewcvs.py/roundcubemail/roundcubemail/program /js/app.js?r1=text&tr1=1.28&r2=text&tr2=1.29&diff_format=h
I applied the differences between these two revisions one by one, and I found the difference that caused scrolling to break. The diff that causes it to break is the one that begins on line Line 246/249. (Lines 255 through 307 in current cvs head)
It is a large chunk of code, and I'm not sure exactly what is causing the problem, I thought I would ask here and see if anyone had any ideas. I would be glad to work with to get this resolved. I know few people have macs, so I would be glad to apply patches and report results.
--Jacob Brunson