Connection Established
วันนี้อุทิศให้กับ pango หลังจากค้างคาใจเรื่องที่ pango-libthai shape engine ทำงานได้ แต่ language engine ทำงานไม่ได้ แถมทำให้โปรแกรมหลายตัว crash โดยเฉพาะวันนี้ทำให้ login เข้า gnome session ไม่ได้เลย ต้องไป disable pango-libthai ทิ้งถึงจะได้ เลยตั้งใจว่า ต้องหา bug ให้เจอให้ได้
หลังจากตรวจตราดูจนแน่ใจ ว่าไม่ได้โค้ดอะไรเฟอะฟะ โดยเปรียบเทียบกับ shape engine ไปด้วย ก็ลงมือ debug ด้วยวิธีที่สะดวกที่สุด คือ printf ยังไงก็ไม่มีไอเดียว่าผิดตรงไหน เลยลงมือไล่ pango อืมม์.. auto bi-di ในเวอร์ชันนี้ ทำให้โค้ดดูแปลกตาไปพอสมควร บวกกับวิธีจัดการ module ใหม่ด้วย ไล่ไปไล่มาจนพบว่าค่า pointer to function script_shape() มันมั่ว แต่ก็นั่งเดาอยู่นาน กว่าจะสังเกตได้ว่า มันเรียก macro เพื่อ cast type ผิดตัว! โย่วๆ ในที่สุดก็เจอซะที พอแก้เสร็จ build ใหม่ ทุกอย่างราบรื่น!
file GNOME Bug #141931 แล้วก็มานั่งคิดว่า นี่จนป่านนี้ bug นี้มันหลุดรอดสายตามาได้ยังไง แสดงว่า ไม่มีใครทำ pango language engine อีกแล้วนอกจากภาษาไทยเลยหรือไง ฮือๆ เดียวดายยิ่งนัก
0 ความเห็น:
แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)
<< กลับหน้าแรก