В настоящее время я делаю некоторые тесты, используя Cairo, чтобы заменить некоторые существующие GDI / GDI +
код в Visual C ++ 2010 и, кажется, работает нормально, но я получаю
сообщение об ошибке каждый раз, когда я закрываю свое приложение:
"Исключение первого шанса в 0x68e629dc в CairoTest.exe: 0xC0000005:
Место чтения нарушения доступа 0xabababa7 "
Эта ошибка возникает, только если я вызвал cairo_paint (cr), пока
приложение работает - если я прокомментирую эту строку, она исчезнет.
пока только код Каира в моем приложении:
CChildView::CChildView()
{
testsurface = cairo_image_surface_create_from_png("BlackShinyBackground.png");
}
CChildView::~CChildView()
{
cairo_surface_destroy(testsurface);
}
void CChildView::OnPaint()
{
CPaintDC dc(this);
cairo_surface_t *surface = cairo_win32_surface_create(dc.m_hDC);
cairo_t *cr = cairo_create (surface);
cairo_set_source_surface(cr, testsurface, 0, 0);
cairo_paint(cr);
cairo_destroy (cr);
cairo_surface_destroy (surface);
}
Кто-нибудь может указать мне, что я делаю неправильно?
Как я уже сказал, код, кажется, работает нормально, но мне не нравится просто пахать независимо от того, когда я вижу ошибки.