LINUX.ORG.RU

Ответ на: комментарий от karton1

А программы windows почти все на x86, там твой linux deploy бесполезен, либо очень медленный

masteruser82841
() автор топика
Ответ на: комментарий от karton1

И он у меня вообще не работает, требует хрень всякую, типа loop, binfmt, а exagear не требует

masteruser82841
() автор топика

Подскажите причину ошибки

Ну, давай по пунктам.

X Error of failed request

У тебя ошибка связана с иксами.

BadRequest (invalid request code or no such operation)

Код ошибки BadRequest, что бывает, когда ты послал запрос с кодом, который не понял икс-сервер.

Major opcode of failed request: 64 (X_PolyPoint)

Конкретная ошибка возникла с запросом с кодом X_PolyPoint, который кодируется числом 64. Либо твоя программа неправильно пользуется этой функциональностью иксов, либо реализации для X_PolyPoint нет, либо она содержит ошибку.

Serial number of failed request: 7449

Запросы нумеруются. Сбойнувший имеет номер 7449.

Current serial number in output stream: 7456

Запросы не всегда обрабатываются синхронно. Ответ на запрос 7456 пришёл раньше. А потом пришёл ответ на 7449, и он был сбойный. Для отладки тебе будет удобнее включить синхронный режим, когда клиент всегда ждёт ответа от сервера перед отсылкой следующего запроса. Так медленнее, но отлаживаться проще.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Я так и не смог решить проблему, потому что никто не может мне объяснить её суть, из-за какой ошибки вылетает x_polypoint или если polypoint там нету (что маловероятно), то как его добавить.

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

потому что никто не может мне объяснить её суть

Я же тебе ссылку на документацию по протоколу уже давал. Она что, потерялась?

из-за какой ошибки вылетает x_polypoint

У тебя тут ошибка в интерпретации. Клиент X-сервера запрашивает у сервера операцию PolyPoint, а X-сервер не знает такой операции, и возвращает отлуп. Клиент не знает, что делать в такой ситуации, и завершается.

если polypoint там нету (что маловероятно)

Наоборот, наиболее вероятная причина событий — отсутствие реализации PolyPoint в X-сервере.

как его добавить

Добываешь исходники X-сервера. Открываешь исходники X-сервера. Ищешь там, где обрабатываются команды. Находишь тот мега-switch, в котором обрабатываются коды операций. Открываешь документацию к протоколу, читаешь описание PolyPoint. Добавляешь в код реализацию PolyPoint. Дальше цикл компиляция-отладка. Готово.

Не знаю, какая тут тебе ещё инструкция нужна. Всё так же, как и для любой другой программы.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Разве бывает такое, что какой-то функции нет в X сервере? Может там происходит ошибка просто в этой функции, но выводит как будто её, нет, а на самом деле просто краш.

masteruser82841
() автор топика
Ответ на: комментарий от i-rinat

И вы хотите сказать, что там тупо список из слов, названий функций? Так заполнять её ещё чем-то надо будет, функцию эту, не голая же она будет. А чем заполнять я не знаю

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

А если нет исходников

Тогда всё сложнее, потому что нужно либо сделать компилируемое представление, которое можно править, либо разрабатывать прямо так, меняя бинарники.

i-rinat ★★★★★
()
Ответ на: комментарий от masteruser82841

Разве бывает такое, что какой-то функции нет в X сервере?

Почему нет?

Может там происходит ошибка просто в этой функции, но выводит как будто её, нет, а на самом деле просто краш.

Вот видишь, ты уже начал выдвигать гипотезы. Это хорошо. Следующий шаг — проверка гипотез. Отладчик в руки — и вперёд.

i-rinat ★★★★★
()
Ответ на: комментарий от masteruser82841

И вы хотите сказать, что там тупо список из слов, названий функций?

Вряд ли я говорил что-то подобное. Скорее всего, нет.

Так заполнять её ещё чем-то надо будет, функцию эту, не голая же она будет.

Конечно. Нужно написать её реализацию.

А чем заполнять я не знаю

В описании разве не написано, что она должна делать? Вот же:


PolyPoint

drawable: DRAWABLE
gc: GCONTEXT
coordinate-mode: { Origin, Previous}
points: LISTofPOINT
Errors: Drawable, GContext, Match, Value

This request combines the foreground pixel in gc with the pixel at each point in the drawable. The points are drawn in the order listed.

The first point is always relative to the drawable’s origin. The rest are relative either to that origin or the previous point, depending on the coordinate-mode.

GC components: function, plane-mask, foreground, subwindow-mode, clip-x-origin, clip-y-origin, clip-mask


Вот пишешь туда код, который рисует точки на Drawable. Что непонятного-то?

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Проанализировал я код, и нашёл кое-что, к счастью для меня это всё не в нативе, а в Java, который я без проблем умею редактировать. И там дейтствительно нет этой функции, в кастомном X сервере. Где взять образец кода этой функции? Чтобы я понял как её туда встроить

https://ucaa76c40a7d19a796aea6ae4a7a.previews.dropboxusercontent.com/p/thumb/...

masteruser82841
() автор топика
Ответ на: комментарий от i-rinat

Что-то нигде не могу найти тело функций PolyPoint и PolyLine, везде только описание того что она делает. А как она эта делает, я что гадаю что-ли??? Найти исходники этих функций нигде не могу

masteruser82841
() автор топика
Ответ на: комментарий от i-rinat

Вроде всё понятно кроме одного, какой-то GC *pcc. В языках C/C++ я часто вижу какие-то звёздочки, а что они означают не пойму

masteruser82841
() автор топика
Ответ на: комментарий от masteruser82841

Лучше посмотреть вводный курс по Си. Там будет более внятнятные и последовательные объяснения, чем те, что можно найти на форуме.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.