매일 피곤한 상태에서 개발하다보니 어이없는 버그가 있었습니다.
복붙을 했었는데 변수 이름을 변경하다가 말아서 그게 버그의 간접적 원인이 되었습니다.
변수 하이라이팅 기능이 있었다면 피할 수 있었던 버그인데 말입니다.
그래서 개발 툴로 geany 를 사용했었는데 gnome-builder 로 바꾸기로 결정했습니다.
전에 firefox 실행해 놓은 상태에서
killall nimf
nimf --start-indicator
nimf 를 두세번 죽였다 살렸다 하면 firefox 가 죽는 현상이 있었습니다.
이것은 nimf 버그로 밝혀졌는데, 애석하게도 저는 왜 저런 현상이 발생하는지 아직도 이해를 못하고 있습니다.
아마, 응용 어플에서 또다른 디스패쳐가 작동해서 이런 문제가 발생하지 않았을까 추정하고 있습니다.
그래서, 글로벌 변수를 g_object_unref() 한 후, NULL 을 대입했습니다.
그 후 또다시 이러한 현상이 발생하면 thread-safe 스레드에 안전하게 설계해야 합니다.
g_weak_ref_init ()
void
g_weak_ref_init (GWeakRef *weak_ref,
gpointer object);
Initialise a non-statically-allocated GWeakRef.
This function also calls g_weak_ref_set() with object on the freshly-initialised weak reference.
This function should always be matched with a call to g_weak_ref_clear(). It is not necessary to use this function for a GWeakRef in static storage because it will already be properly initialised. Just use g_weak_ref_set() directly.
GWeakRef 를 이용하면 g_object_unref() 로 객체가 ref count 가 0 이 되었을 때, 아마 NULL 값을 대입해 줄 겁니다.
정확한 사용법을 몰라서 아직 사용하지 않을 뿐입니다. 때가 되면 하겠죠.ㅋㅋ
이렇게 점점 시간이 흐르다보면 nimf 는 매우 견고한 입력기가 되어 있을 것입니다.
오늘도 열심히 달립니다.
10여 년간 한글 문제 해결도 못하고 있는데 오픈소스 이 딴거 개나 줘버리라고 하세요. 오픈소스 개발자님, 관계자님 제가 하는 일에 제발 신경 끄세요. 도움 주지 마세요. 시간 빼앗겨 방해만 됩니다.
Translate
피드 구독하기:
댓글 (Atom)
응용 어플 끝글자 버그 잡는 거 진짜 개쉽습니다
그 동안 제가 끝글자 버그를 잡지 않고 방치한 이유 우선 책임, 의무가 없습니다. 제가 해당 어플 개발자도 아닐 뿐더러 오픈소스가 원래가 유지보수 의무, 보증 책임이 없습니다 . 이렇게 개떡 같은 게 오픈소스입니다. 전 과거 libhwp 하냐고...
-
그 동안 제가 끝글자 버그를 잡지 않고 방치한 이유 우선 책임, 의무가 없습니다. 제가 해당 어플 개발자도 아닐 뿐더러 오픈소스가 원래가 유지보수 의무, 보증 책임이 없습니다 . 이렇게 개떡 같은 게 오픈소스입니다. 전 과거 libhwp 하냐고...
-
달콤(Dalkom)은 리브레오피스에서 hwp 문서를 보기 위한 확장 기능입니다. libhwp 와 연동에 성공하여 hwp 문서에 있는 문자를 리브레오피스에서 볼 수 있습니다. 시간상의 이유 때문에 우선적으로 문자만 작업했습니다. 렌더링을 리브레오피...
-
제가 원래 개발자가 아니라 원래가 일반 사용자였습니다.과거 MS윈도우 품질이 개떡같아서 유닉스 사용하다가 유닉스가 비싸고 망해서 리눅스를 사용하고 있는 거고 리눅스 품질이 지금은 우수하지만 예전에는 문제가 진짜 많았죠. 그렇게 리눅스를 지금까지 사용해...

댓글 없음:
댓글 쓰기