Эмулятор под Linux
-
Очередной коммит. Надеюсь в этот раз всё получится.
Да, все поля Netstat отобразила заполненнымиtsdima wrote:Очередной коммит. Надеюсь в этот раз всё получится.
и WebView отобразил страничку
Ну наконец-то! Спасибо за терпение
tsdima wrote:Ну наконец-то! Спасибо за терпение
Проверил работоспособность NetSurf.
NSinstall выдаёт такой лог.
Code: Select all
NETSURF INSTALLER.
Fetching : /tmp0/1/nskolibrios...DONE!
Fetching : /tmp0/1/res/adblock.css...DONE!
Fetching : /tmp0/1/res/quirks.css...DONE!
Fetching : /tmp0/1/res/Messages...DONE!
Fetching : /tmp0/1/res/licence.html...DONE!
Fetching : /tmp0/1/res/default.css...DONE!
Fetching : /tmp0/1/res/netsurf.png...DONE!
Fetching : /tmp0/1/res/sans.ttf...DONE!
Fetching : /tmp0/1/res/welcome.html...DONE!
Fetching : /tmp0/1/res/internal.css...DONE!
Fetching : /tmp0/1/res/maps.html...DONE!
Fetching : /tmp0/1/res/favicon.png...DONE!
Fetching : /tmp0/1/res/credits.html...DONE!
Fetching : /tmp0/1/res/throbber/throbber8.png...DONE!
Fetching : /tmp0/1/res/throbber/throbber3.png...DONE!
Fetching : /tmp0/1/res/throbber/throbber4.png...DONE!
Fetching : /tmp0/1/res/throbber/throbber0.png...DONE!
Fetching : /tmp0/1/res/throbber/throbber6.png...DONE!
Fetching : /tmp0/1/res/throbber/throbber2.png...DONE!
Fetching : /tmp0/1/res/throbber/throbber1.png...DONE!
Fetching : /tmp0/1/res/throbber/throbber7.png...DONE!
Fetching : /tmp0/1/res/throbber/throbber5.png...DONE!
Fetching : /tmp0/1/res/pointers/point.png...DONE!
Fetching : /tmp0/1/res/pointers/no_drop.png...DONE!
Fetching : /tmp0/1/res/pointers/wait.png...DONE!
Fetching : /tmp0/1/res/pointers/up-down.png...DONE!
Fetching : /tmp0/1/res/pointers/help.pngContacting DNS server failed with EAI code: 00000002
HTTP GET error!
Очевидно, при загрузке help.png он получил код ошибки от DNS сервера. Могу только предположить, что DNS серверу не понравились слишком частые запросы об одном и том-же домене. Кэшировать ответы надо. Причём на уровне системы, т.к. запрашивать могут разные программы. Т.е. надо расширять сетевые функции.Kopa wrote:NSinstall выдаёт такой лог.
mcall 77 это футексы, надо бы сделать...Kopa wrote:Отдельно NetSurf, при этом, запускается и работает, хотя и с какими то mcall.
Вообще, что NetSurf, что WebView работают пока как-то нестабильно, и я подозреваю, что проблема не в эмуляторе.
Последние версии Netsurf, при попытке сделать скролл колёсиком мышки "закрываются" (исчезает окно)tsdima wrote:Вообще, что NetSurf, что WebView работают пока как-то нестабильно, и я подозреваю, что проблема не в эмуляторе.
примерно с таким сообщением
Code: Select all
Unhandled case.Previous_mouse_buttons^b is :0x101010
Нет, наверное. Скролл я ещё не делал. Но посмотрю, что не так.Kopa wrote:это так и должно быть в текущей версии эмулятора?
Поставил в виртуалке Linux Mint + Codelite 12.0, действительно открывает проект просто как XML. Я почему-то был уверен, что Codelite создаст или предложит создать пустой workspace при открытии проекта. Поправил README.mdJohnXenox wrote:P.S. На гитхабе написано "If you have installed CodeLite simply open project file and build it."
Хотел так сделать. Поставил Codelite 12.0, но не вышло. У меня Codelite не открывает файл проекта.
Добавил _DEBUG, теперь это сообщение выводится только в отладочной конфигурации Codelite.JohnXenox wrote:На мой вгляд, неправильно выводить в терминал далеко некритические сообщения, в то время, когда программа OPENDIAL, по существу, имеет все необходимые файлы для удавлетворения своих потребностей и корректной работы. Кстати сама программа, в Колибри, в такой ситуации, ворнинги не выводит, что вполне логично.
Теперь работает. Заодно доделал фильтр мышиных событий, теперь EOLITE в эмуляторе выдаёт только одно всплывающее меню, как и задумано.JohnXenox wrote:Также заметил, что в окнах, где есть сколлбар, скроллинг колёсиком не работает. Или работает неправильно.
Заметил также, что мышиные события иногда доставляются не тем окнам, по сравнению с реальной Колибри. Например если в WebView открыть всплывающее меню, а потом щёлкнуть не по нему, то меню не закроется (мышиное событие пройдёт мимо). А если был подсвечен второй пункт меню, то закроется основное окно WebView Кстати, аналогичное поведение есть и в реальной Колибри:
- открыть в WebView всплывающее меню
- подвигать мышкой, чтобы подсветился второй пункт меню
- кликнуть на заголовок окна WebView
Fixed #7252.Кстати, аналогичное поведение есть и в реальной Колибри:
- открыть в WebView всплывающее меню
- подвигать мышкой, чтобы подсветился второй пункт меню
- кликнуть на заголовок окна WebView
Должно исправится и в эмуле. Теперь там более явно указывается какой процесс завершить.
Из хаоса в космос
Там в другом проблема. Когда кликаем не по меню, а по браузеру, он получает событие redraw:Leency wrote:Должно исправится и в эмуле. Теперь там более явно указывается какой процесс завершить.
Code: Select all
case evReDraw:
if (menu.list.cur_y) {
ProcessEvent(menu.list.cur_y);
menu.list.cur_y = 0;
}
У меня в эмуляторе redraw сразу посылается, если фокус меняется. А реальная Колибри, видимо, сначала посылает активному окну событие mouse down, и лишь потом меняет фокус. За исключением, видимо, клика по заголовку. В этом случае, как я понял, mouse down по какой-то причине не посылается активному окну.
Интересно получается, если не по заголовку кликнуть, а попытаться растянуть окно. Окно исчезает, а мы его ещё растягиваем
Чего-то у меня не работает.tsdima wrote:Поставил в виртуалке Linux Mint + Codelite 12.0, действительно открывает проект просто как XML. Я почему-то был уверен, что Codelite создаст или предложит создать пустой workspace при открытии проекта. Поправил README.mdJohnXenox wrote:P.S. На гитхабе написано "If you have installed CodeLite simply open project file and build it."
Хотел так сделать. Поставил Codelite 12.0, но не вышло. У меня Codelite не открывает файл проекта.
Спасибо.tsdima wrote:Добавил _DEBUG, теперь это сообщение выводится только в отладочной конфигурации Codelite.JohnXenox wrote:На мой вгляд, неправильно выводить в терминал далеко некритические сообщения, в то время, когда программа OPENDIAL, по существу, имеет все необходимые файлы для удавлетворения своих потребностей и корректной работы. Кстати сама программа, в Колибри, в такой ситуации, ворнинги не выводит, что вполне логично.Теперь работает. Заодно доделал фильтр мышиных событий, теперь EOLITE в эмуляторе выдаёт только одно всплывающее меню, как и задумано.JohnXenox wrote:Также заметил, что в окнах, где есть сколлбар, скроллинг колёсиком не работает. Или работает неправильно.
The Glass is Always Half Full!
Появился один попутный вопрос.
Как может быть проброшен интерфейс к COM порту (USB->COM переходник) в эмуляторе
и как это выглядит в Колибри запущенной на железе.
P.S. Вроде какие то наработки по использованию Com порта через USB были для Колибри.
Ещё интересен Блютуз интерфейс в этом применении.
Как может быть проброшен интерфейс к COM порту (USB->COM переходник) в эмуляторе
и как это выглядит в Колибри запущенной на железе.
P.S. Вроде какие то наработки по использованию Com порта через USB были для Колибри.
Ещё интересен Блютуз интерфейс в этом применении.
Если говорить о стандартном COM интерфейсе, т.е. группы портов 3f8,2f8,3e8,2e8, то в Колибри есть функция 46 - зарезервировать/освободить группу портов в/в. То есть, если функция отработала успешно, приложению становятся доступны указанные порты, и оно может работать с ними так же, как это было раньше в DOS.Kopa wrote:Как может быть проброшен интерфейс к COM порту (USB->COM переходник) в эмуляторе
и как это выглядит в Колибри запущенной на железе.
В эмуляторе это будет выглядеть следующим образом. Функция 46 вернёт успех, приложение обратится к зарезервированному порту, возникнет GP fault, точно также, как это происходит при выполнении int 40h. Эмулятор должен посмотреть, какая это команда и сэмулировать её поведение.
Про USB ничего не могу сказать, может clevermouse что-то подскажет.Kopa wrote:Вроде какие то наработки по использованию Com порта через USB были для Колибри.
Ещё интересен Блютуз интерфейс в этом применении.
А конкретнее?JohnXenox wrote:Чего-то у меня не работает.
1. Создаём новый workspace, тут вопросов быть не должно.
2. Правой кнопкой на workspace -> Add an Existing Project, проект должен добавиться.
3. F7 компилируем проект.
Кстати, у меня в виртуалке почему-то не работают брейкпоинты. То-ли виртуалка глючит, то-ли Codelite. Та-же самая ситуация, в том-же плеере, но Ubuntu 14.04 и Codelie 9.0.1 - всё работает.
Who is online
Users browsing this forum: No registered users and 4 guests